Zabbix和agent端部署、图示Zabbix Web端搭建以及添加设备的4种方法、Zabbix API

Zabbix

zabbix是一个基于WEB界面的提供分布式系统监视以及网络监视功能的企业级的开源解决方案。
zabbix能监视各种网络参数,保证服务器系统的安全运营;并提供灵活的通知机制以让系统管理员快速定位/解决存在的各种问题。
zabbix由2部分构成,zabbix server与可选组件zabbix agent。
zabbix server可以通过SNMP,zabbix agent,ping,端口监视等方法提供对远程服务器/网络状态的监视,数据收集等功能,它可以运行在Linux,Solaris,HP-UX,AIX,Free BSD,Open BSD,OS X等平台上。

实验环境:
server1:7.3/7.2版本虚拟机
server2:6.5虚拟机
zabbix版本:zabbix3.4.6

一、server端:Zabbix搭建

server1:
安装zabbix与依赖性(注:php-*的2个文件需根据系统版本安装:7.3为42版本,7.2为36,可在官网下载)

[root@server1 ~]# yum install -y zabbix-server-mysql-3.4.6-1.el7.x86_64.rpm zabbix-web-3.4.6-1.el7.noarch.rpm zabbix-web-mysql-3.4.6-1.el7.noarch.rpm fping-3.10-1.el7.x86_64.rpm iksemel-1.4-2.el7.centos.x86_64.rpm php-mbstring-5.4.16-36.el7_1.x86_64.rpm php-bcmath-5.4.16-36.el7_1.x86_64.rpm

安装mysql服务

[root@server1 zabbix]# yum install -y mariadb-server

打开数据库

systemctl start mariadb

数据库安全设置(设置密码)

mysql_secure_installation 

登陆

mysql -p
创建库
MariaDB [(none)]> create database zabbix character set utf8 collate utf8_bin;
授权
MariaDB [(none)]> grant all privileges on zabbix.* to zabbix@localhost identified by 'westos';
[root@server1 zabbix]# cd /usr/share/doc/zabbix-server-mysql-3.4.6/
[root@server1 zabbix-server-mysql-3.4.6]# zcat create.sql.gz | mysql -u zabbix -p zabbix  #这条命令输入密码执行需要等一会儿
Enter password:      

登陆数据库查看zabbix表

[root@server1 zabbix-server-mysql-3.4.6]# mysql -pwestos
MariaDB [(none)]> use zabbix
MariaDB [zabbix]> show tables;  ##可看到有140条内容

Zabbix和agent端部署、图示Zabbix Web端搭建以及添加设备的4种方法、Zabbix API_第1张图片
编辑Zabbix配置文件

[root@server1 zabbix-server-mysql-3.4.6]# cd /etc/zabbix/
[root@server1 zabbix]# vim zabbix_server.conf 
117 DBUser=zabbix                          ##用户名
125 DBPassword=westos                      ##数据库密码
132 DBSocket=/var/lib/mysql/mysql.sock

Httpd配置:修改时区

[root@server1 zabbix]# cd /etc/httpd/conf.d/
[root@server1 conf.d]# vim zabbix.conf 
 19         php_value date.timezone Asia/Shanghai

打开httpd服务

[root@server1 conf.d]# systemctl start httpd

安装Zabbix-agent服务,打开zabbix-agent、zabbix-server服务

[root@server1 ~]# yum install -y zabbix-agent-3.4.6-1.el7.x86_64.rpm 
[root@server1 ~]# systemctl start zabbix-agent
[root@server1 ~]# systemctl start zabbix-server

注意:selinux要设置为disabled、防火墙关闭

查看selinux状态
[root@server1 conf.d]# getenforce 
查看防火墙状态
[root@server1 conf.d]# iptables -L

浏览器访问172.25.10.1/zabbix
显示Zabbix3.4首页,下一步
Zabbix和agent端部署、图示Zabbix Web端搭建以及添加设备的4种方法、Zabbix API_第2张图片
下一步
Zabbix和agent端部署、图示Zabbix Web端搭建以及添加设备的4种方法、Zabbix API_第3张图片
下一步
Zabbix和agent端部署、图示Zabbix Web端搭建以及添加设备的4种方法、Zabbix API_第4张图片
下一步
Zabbix和agent端部署、图示Zabbix Web端搭建以及添加设备的4种方法、Zabbix API_第5张图片
下一步
Zabbix和agent端部署、图示Zabbix Web端搭建以及添加设备的4种方法、Zabbix API_第6张图片
完成
Zabbix和agent端部署、图示Zabbix Web端搭建以及添加设备的4种方法、Zabbix API_第7张图片
注意:这里用户为Admin,密码为zabbix。下一步
Zabbix和agent端部署、图示Zabbix Web端搭建以及添加设备的4种方法、Zabbix API_第8张图片
点击右上角的“人头“ 进行设置
Zabbix和agent端部署、图示Zabbix Web端搭建以及添加设备的4种方法、Zabbix API_第9张图片
选择语言
Zabbix和agent端部署、图示Zabbix Web端搭建以及添加设备的4种方法、Zabbix API_第10张图片
修改密码
Zabbix和agent端部署、图示Zabbix Web端搭建以及添加设备的4种方法、Zabbix API_第11张图片

二、agent端:zabbix配置

重新打开一个6.5版本的虚拟机作为agent:server2
解压安装包

rpm -ivh zabbix-agent-3.4.6-1.el6.x86_64.rpm 

编辑配置文件

[root@server2 ~]# cd /etc/zabbix/
[root@server2 zabbix]# vim zabbix_agentd.conf 
149 Hostname=server2                ##本机名字
138 ServerActive=172.25.10.1        ##server端IP
 97 Server=172.25.10.1              ##server端IP

打开服务

[root@server2 zabbix]# /etc/init.d/zabbix-agent start

查看端口

[root@server2 zabbix]# netstat -antlp
tcp        0      0 0.0.0.0:10050               0.0.0.0:*                   LISTEN      1450/zabbix_agentd  

在server端(server1)和agent端(server2)作地址解析

vim /etc/hosts
server2:
172.25.10.1     server1
server1:
172.25.10.2     server2

Zabbix Web端操作:

发现设备的4种方法

注意:由于操作太多,有些截图是我用另一台电脑时截的,一台电脑的IP为server端:172.25.61.11 agent端:172.25.61.2 , 一台电脑的IP为server端:172.25.10.1 agent端:172.25.10.2

方法一:自动发现

设置状态为“停用的”
Zabbix和agent端部署、图示Zabbix Web端搭建以及添加设备的4种方法、Zabbix API_第12张图片
主机设置
Zabbix和agent端部署、图示Zabbix Web端搭建以及添加设备的4种方法、Zabbix API_第13张图片
这是在配置-自动发现中点击local network进去设置的网段
Zabbix和agent端部署、图示Zabbix Web端搭建以及添加设备的4种方法、Zabbix API_第14张图片
在仪表板里可看见自动发现的状态
Zabbix和agent端部署、图示Zabbix Web端搭建以及添加设备的4种方法、Zabbix API_第15张图片
往下拉可看见
Zabbix和agent端部署、图示Zabbix Web端搭建以及添加设备的4种方法、Zabbix API_第16张图片
这时可看到server2已自动添加,并且状态为已启用
Zabbix和agent端部署、图示Zabbix Web端搭建以及添加设备的4种方法、Zabbix API_第17张图片
为做下一个实验,这里把server2删除
Zabbix和agent端部署、图示Zabbix Web端搭建以及添加设备的4种方法、Zabbix API_第18张图片

方法二:创建主机(该方法只能创建一个一个的创建)

创建主机
Zabbix和agent端部署、图示Zabbix Web端搭建以及添加设备的4种方法、Zabbix API_第19张图片
添加主机名称,添加群组,添加IP地址和端口号
Zabbix和agent端部署、图示Zabbix Web端搭建以及添加设备的4种方法、Zabbix API_第20张图片
选择模板
Zabbix和agent端部署、图示Zabbix Web端搭建以及添加设备的4种方法、Zabbix API_第21张图片
Zabbix和agent端部署、图示Zabbix Web端搭建以及添加设备的4种方法、Zabbix API_第22张图片
添加并更新
Zabbix和agent端部署、图示Zabbix Web端搭建以及添加设备的4种方法、Zabbix API_第23张图片
Zabbix和agent端部署、图示Zabbix Web端搭建以及添加设备的4种方法、Zabbix API_第24张图片
这时可看到server2已添加且状态已启用
Zabbix和agent端部署、图示Zabbix Web端搭建以及添加设备的4种方法、Zabbix API_第25张图片
删除server2
Zabbix和agent端部署、图示Zabbix Web端搭建以及添加设备的4种方法、Zabbix API_第26张图片

方法三:自动注册(该方法可一次添加多个主机)

创建动作
Zabbix和agent端部署、图示Zabbix Web端搭建以及添加设备的4种方法、Zabbix API_第27张图片
填写名称
Zabbix和agent端部署、图示Zabbix Web端搭建以及添加设备的4种方法、Zabbix API_第28张图片
添加主机
Zabbix和agent端部署、图示Zabbix Web端搭建以及添加设备的4种方法、Zabbix API_第29张图片
Zabbix和agent端部署、图示Zabbix Web端搭建以及添加设备的4种方法、Zabbix API_第30张图片
添加主机群组
Zabbix和agent端部署、图示Zabbix Web端搭建以及添加设备的4种方法、Zabbix API_第31张图片
Zabbix和agent端部署、图示Zabbix Web端搭建以及添加设备的4种方法、Zabbix API_第32张图片
Zabbix和agent端部署、图示Zabbix Web端搭建以及添加设备的4种方法、Zabbix API_第33张图片
Zabbix和agent端部署、图示Zabbix Web端搭建以及添加设备的4种方法、Zabbix API_第34张图片
添加模板
Zabbix和agent端部署、图示Zabbix Web端搭建以及添加设备的4种方法、Zabbix API_第35张图片
Zabbix和agent端部署、图示Zabbix Web端搭建以及添加设备的4种方法、Zabbix API_第36张图片
Zabbix和agent端部署、图示Zabbix Web端搭建以及添加设备的4种方法、Zabbix API_第37张图片
更新
Zabbix和agent端部署、图示Zabbix Web端搭建以及添加设备的4种方法、Zabbix API_第38张图片
查看动作已启用
Zabbix和agent端部署、图示Zabbix Web端搭建以及添加设备的4种方法、Zabbix API_第39张图片
符合条件的主机已发现
Zabbix和agent端部署、图示Zabbix Web端搭建以及添加设备的4种方法、Zabbix API_第40张图片
这里不删除server2

三、Zabbix API

1、身份验证

在访问Zabbix内部的任何数据之前,您需要登陆并获得一个身份验证令牌。以作为标准的Zabbix管理用户登陆。
编辑一个脚本

您的JSON请求如下所示:
curl -s -X POST -H 'Content-Type:application/json' -d '
{
    "jsonrpc": "2.0",
    "method": "user.login",
    "params": {
        "user": "Admin",
        "password": "westos"
    },
    "id": 1,
    "auth": null
}' http://172.25.10.1/zabbix/api_jsonrpc.php | python -m json.tool

给予权限

[root@server1 ~]# chmod +x zabbix-api.sh

执行脚本

[root@server1 ~]# ./zabbix-api.sh

如果您正确地提供了凭证,API返回的相应将包含用户身份验证令牌
Zabbix和agent端部署、图示Zabbix Web端搭建以及添加设备的4种方法、Zabbix API_第41张图片

2、使用host,get方法来检索所有可信主机的IDs,主机名和接口

编辑脚本

[root@server1 ~]# vim zabbix-api.sh
curl -s -X POST -H 'Content-Type:application/json' -d '
{
    "jsonrpc": "2.0",
    "method": "host.get",
    "params": {
        "output": [
            "hostid",
            "host"
        ],
        "selectInterfaces": [
            "interfaceid",
            "ip"
        ]
    },
    "id": 2,
    "auth": "791a06e74753c20264d03a9da05eb1e7"
}' http://172.25.10.1/zabbix/api_jsonrpc.php | python -m json.tool

执行脚本

响应对象将包含关于主机的请求数据
[root@server1 ~]# ./zabbix-api.sh

Zabbix和agent端部署、图示Zabbix Web端搭建以及添加设备的4种方法、Zabbix API_第42张图片

3、删除主机

编辑脚本

[root@server1 ~]# vim zabbix-api.sh
curl -s -X POST -H 'Content-Type:application/json' -d '
{
    "jsonrpc": "2.0",
    "method": "host.delete",
    "params": [
        "10256"
    ],
    "id": 2,
    "auth": "791a06e74753c20264d03a9da05eb1e7"
}' http://172.25.10.1/zabbix/api_jsonrpc.php | python -m json.tool

执行脚本

[root@server1 ~]# ./zabbix-api.sh 

Zabbix Web端可查看server2已删除
Zabbix和agent端部署、图示Zabbix Web端搭建以及添加设备的4种方法、Zabbix API_第43张图片

4、创建主机 (同时这也是发现设备的第4种方法)

编辑脚本

[root@server1 ~]# vim zabbix-api.sh
curl -s -X POST -H 'Content-Type:application/json' -d '
{
    "jsonrpc": "2.0",
    "method": "host.create",
    "params": {
        "host": "server2",
        "interfaces": [
            {
                "type": 1,
                "main": 1,
                "useip": 1,
                "ip": "172.25.10.2",
                "dns": "",
                "port": "10050"
            }
        ],
        "groups": [
            {
                "groupid": "2"
            }
        ],
        "templates": [
            {
                "templateid": "10001"
            }
        ]
    },
    "id": 2,
    "auth": "791a06e74753c20264d03a9da05eb1e7"
}' http://172.25.10.1/zabbix/api_jsonrpc.php | python -m json.tool

执行脚本

[root@server1 ~]# ./zabbix-api.sh 

Zabbix和agent端部署、图示Zabbix Web端搭建以及添加设备的4种方法、Zabbix API_第44张图片
Zabbix Web端可查看server2已添加并启用
Zabbix和agent端部署、图示Zabbix Web端搭建以及添加设备的4种方法、Zabbix API_第45张图片

你可能感兴趣的:(Zabbix和agent端部署、图示Zabbix Web端搭建以及添加设备的4种方法、Zabbix API)