Zabbix学习(1)安装和web管理界面配置以及主机管理

朴灿烈づ我的快乐病毒、 2022-11-30 04:26 177阅读 0赞

文章目录

      • 概述
      • 安装
        • 配置阿里yum源
      • 配置zabbix web管理界面
        • 初始化 zabbix管理界面
        • 管理主机
        • 解决中文乱码
      • zabbix自动发现与自动注册
        • 自动发现
        • 自动注册
      • 使用zabbix API添加删除主机

概述

Zabbix 由 Alexei Vladishev 创建,目前由其成立的公司—— Zabbix SIA 积极的持续开发更新维护, 并为用户提供技术支持服务。
Zabbix 是一个企业级分布式开源监控解决方案。
Zabbix 软件能够监控众多网络参数和服务器的健康度、完整性。Zabbix 使用灵活的告警机制,允许用户为几乎任何事件配置基于邮件的告警。这样用户可以快速响应服务器问题。Zabbix 基于存储的数据提供出色的报表和数据可视化功能。这些功能使得 Zabbix 成为容量规划的理想选择。
Zabbix 支持主动轮询(polling)和被动捕获(trapping)。Zabbix所有的报表、统计数据和配置参数都可以通过基于 Web 的前端页面进行访问。基于 Web 的前端页面确保您可以在任何地方访问您监控的网络状态和服务器健康状况。适当的配置后,Zabbix 可以在监控 IT 基础设施方面发挥重要作用。无论是对于有少量服务器的小型组织,还是拥有大量服务器的大企业而言,同样适用。
Zabbix 是免费的。Zabbix 是根据 GPL 通用公共许可证的第二版编写和发布的。这意味着产品源代码是免费发布的,可供公共使用

安装

因为环境是rhel7 所以使用的是zabbix4.0

  1. rpm -Uvh https://repo.zabbix.com/zabbix/4.0/rhel/7/x86_64/zabbix-release-4.0-2.el7.noarch.rpm

配置阿里yum源

更改官方源

  1. [zabbix]
  2. name=Zabbix Official Repository - $basearch
  3. baseurl=https://mirrors.aliyun.com/zabbix/zabbix/4.0/rhel/7/$basearch/
  4. enabled=1
  5. gpgcheck=0
  6. gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-ZABBIX-A14FE591
  7. [zabbix-debuginfo]
  8. name=Zabbix Official Repository debuginfo - $basearch
  9. baseurl=http://repo.zabbix.com/zabbix/4.0/rhel/7/$basearch/debuginfo/
  10. enabled=0
  11. gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-ZABBIX-A14FE591
  12. gpgcheck=0
  13. [zabbix-non-supported]
  14. name=Zabbix Official Repository non-supported - $basearch
  15. baseurl=https://mirrors.aliyun.com/zabbix/non-supported/rhel/7/$basearch/
  16. enabled=1
  17. gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-ZABBIX
  18. gpgcheck=0

执行

  1. [root@server1 yum.repos.d]# yum install -y zabbix-agent.x86_64 zabbix-server-mysql.x86_64 zabbix-web zabbix-web-mysql

配置zabbix web管理界面

  • 1 创建数据库
    因为是单机 所以使用mariadb

    mysql> create database zabbix character set utf8 collate utf8_bin;
    mysql> create user zabbix@localhost identified by ‘password’;
    mysql> grant all privileges on zabbix.* to zabbix@localhost;

  • 2 导入数据

    [root@server1 ~]# zcat /usr/share/doc/zabbix-server-mysql-4.0.23/create.sql.gz | mysql -uzabbix -pwestos zabbix

在这里插入图片描述

  • 3 配置数据库
    编辑配置文件 /etc/zabbix/zabbix_server.conf
    在这里插入图片描述
  • 4 配置php
    vim /etc/php.ini
    在这里插入图片描述
  • 5 启动Zabbix server和agent进程 以及httpd
    如果没有报错 就会在浏览器看到
    在这里插入图片描述

初始化 zabbix管理界面

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

管理主机

在server2上安装zabbix-agent
修改配置文件/etc/zabbix/zabbix_agentd.conf
在这里插入图片描述
在web管理界面添加主机
点击主机-> 创建主机
在这里插入图片描述
选择模板
要点击添加
在这里插入图片描述
出现绿色ZBX说明可用
在这里插入图片描述

解决中文乱码

在这里插入图片描述
在windows里找一个中文字体 拷贝到/usr/share/zabbix/assets/fonts/

  1. [root@server1 ~]# cp NotoSans-Regular.ttf /usr/share/zabbix/assets/fonts/

修改网页字体配置

  1. [root@server1 ~]# vim /usr/share/zabbix/include/defines.inc.php

在这里插入图片描述
在这里插入图片描述

zabbix自动发现与自动注册

自动发现

自动发现适用于局域网中大批量添加主机
在这里插入图片描述
注册动作
在这里插入图片描述
开启一个新的server

在这里插入图片描述
在这里插入图片描述

自动注册

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
可以看到自动注册到server3 并添加为Mysql模板

使用zabbix API添加删除主机

Zabbix API是基于Web的API,作为Web前端的一部分提供。它使用JSON-RPC 2.0协议,这意味着两件事:

  • 该API包含一组独立的方法;
  • 客户端和API之间的请求和响应使用JSON格式进行编码。
  • 验证
    在访问Zabbix中的任何数据之前,你需要登录并获取身份验证令牌。这可以使用该 user.login 方法完成

    curl -s -X POST -H “Content-Type: application/json-rpc” -d ‘
    {

    1. "jsonrpc": "2.0",
    2. "method": "user.login",
    3. "params": {
    4. "user": "Admin",
    5. "password": "zabbix"
    6. },
    7. "id": 1,
    8. "auth": null

    }’ http://172.25.254.101/zabbix/api_jsonrpc.php | python -m json.tool

输出:

  1. {
  2. "id": 1,
  3. "jsonrpc": "2.0",
  4. "result": "38c6f697940273e519fe33cd9e839e9e"
  5. }
  • 检索主机

    curl -s -X POST -H “Content-Type: application/json-rpc” -d ‘
    {

    1. "jsonrpc": "2.0",
    2. "method": "host.get",
    3. "params": {
    4. "output": [
    5. "hostid",
    6. "host"
    7. ],
    8. "selectInterfaces": [
    9. "interfaceid",
    10. "ip"
    11. ]
    12. },
    13. "id": 2,
    14. "auth": "de75f01018bad3ae0339e247b53c74e8"

    }’ http://172.25.254.101/zabbix/api_jsonrpc.php | python -m json.tool

输出

  1. {
  2. "id": 2,
  3. "jsonrpc": "2.0",
  4. "result": [
  5. {
  6. "host": "Zabbix server",
  7. "hostid": "10084",
  8. "interfaces": [
  9. {
  10. "interfaceid": "1",
  11. "ip": "127.0.0.1"
  12. }
  13. ]
  14. },
  15. {
  16. "host": "server2",
  17. "hostid": "10270",
  18. "interfaces": [
  19. {
  20. "interfaceid": "2",
  21. "ip": "172.25.254.102"
  22. }
  23. ]
  24. },
  25. {
  26. "host": "server3",
  27. "hostid": "10272",
  28. "interfaces": [
  29. {
  30. "interfaceid": "4",
  31. "ip": "172.25.254.103"
  32. }
  33. ]
  34. }
  35. ]
  36. }
  • 删除主机

    curl -s -X POST -H “Content-Type: application/json-rpc” -d ‘
    {

    1. "jsonrpc": "2.0",
    2. "method": "host.delete",
    3. "params": [
    4. "10270",
    5. "10272"
    6. ],
    7. "auth": "de75f01018bad3ae0339e247b53c74e8",
    8. "id": 1

    }’ http://172.25.254.101/zabbix/api_jsonrpc.php | python -m json.tool

输出

  1. {
  2. "id": 1,
  3. "jsonrpc": "2.0",
  4. "result": {
  5. "hostids": [
  6. "10270",
  7. "10272"
  8. ]
  9. }
  10. }

在这里插入图片描述

  • 添加主机

    curl -s -X POST -H “Content-Type: application/json-rpc” -d ‘
    {

    1. "jsonrpc": "2.0",
    2. "method": "host.create",
    3. "params": {
    4. "host": "server4",
    5. "interfaces": [
    6. {
    7. "type": 1,
    8. "main": 1,
    9. "useip": 1,
    10. "ip": "172.25.254.104",
    11. "dns": "",
    12. "port": "10050"
    13. }
    14. ],
    15. "groups": [
    16. {
    17. "groupid": "2"
    18. }
    19. ],
    20. "templates": [
    21. {
    22. "templateid": "10001"
    23. }
    24. ]
    25. },
    26. "auth": "de75f01018bad3ae0339e247b53c74e8",
    27. "id": 1

    }’ http://172.25.254.101/zabbix/api_jsonrpc.php | python -m json.tool

输出

  1. {
  2. "id": 1,
  3. "jsonrpc": "2.0",
  4. "result": {
  5. "hostids": [
  6. "10274"
  7. ]
  8. }
  9. }

在这里插入图片描述

发表评论

表情:
评论列表 (有 0 条评论,177人围观)

还没有评论,来说两句吧...

相关阅读