分布式系统——网络监视系统zabbix3.4.2,以及向zabbix中添加被监视主机(一)

#一、认识zabbix

  • zabbix(音同 za:bix)是一个基于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等平台上。

##zabbix的功能与特性

  • 安装与配置简单。
  • 可视化web管理界面。
  • 免费开源。
  • 自动发现。
  • 分布式监控。
  • 实时绘图。

##Zabbix的系统组成

  • Zabbix Server:负责接收Agent发送的报告信息,组织所有配置、数据和操作。
  • Database Storage:存储配置信息以及收集到的数据。
  • Web Interface:Zabbix的GUI 接口,通常与Server运行在同一台机器上。
  • Proxy:可选组件,常用于分布式监控环境中。
    Agent:部署在被监控主机上,负责收集数据发送给Server。
    ##zabbix系统包含的进程
    默认情况下zabbix包含5个程序:zabbix_agentdzabbix_getzabbix_proxyzabbix_senderzabbix_server,另外一个zabbix_java_gateway是可选,这个需要另外安装。下面来分别介绍下他们各自的作用。
  • zabbix_agentd 客户端守护进程,此进程收集客户端数据,例如cpu负载、内存、硬盘使用情况等。
  • zabbix_get zabbix工具,单独使用的命令,通常在server或者proxy端执行获取远程客户端信息的命令。通常用户排错。例如在server端获取不到客户端的内存数据,我们可以使用- - zabbix_get获取客户端的内容的方式来做故障排查。
  • zabbix_sender zabbix工具,用于发送数据给server或者proxy,通常用于耗时比较长的检查。很多检查非常耗时间,导致zabbix超时。于是我们在脚本执行完毕之后,使用sender主动提交数据。
  • zabbix_server zabbix服务端守护进程。zabbix_agentd、- zabbix_get、zabbix_sender、zabbix_proxy、- zabbix_java_gateway的数据最终都是提交到server
  • 备注:当然不是数据都是主动提交给zabbix_server,也有的是server主动去取数据。
  • zabbix_proxy zabbix代理守护进程。功能类似server,唯一不同的是它只是一个中转站,它需要把收集到的数据提交/被提交到server里。。
  • zabbix_java_gateway zabbix2.0之后引入的一个功能。顾名思义:Java网关,类似agentd,但是只用于Java方面。需要特别注意的是,它只能主动去获取数据,而不能被动获取数据。它的数据最终会给到server或者proxy。

各进程对应的zabbix/3.4/rhel/7/x86_64/安装包下载(地址http://repo.zabbix.com/zabbix/3.4/rhel/7/x86_64/)

#二、部署zabbix
##实验环境

  • server1:rhel 7.3系统——172.25.54.1
  • server2:rhel 6.5系统——172.25.54.11

##搭建zabbix平台
####server1所需安装包
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-bcmath-5.4.16-42.el7.x86_64.rpm
php-mbstring-5.4.16-42.el7.x86_64.rpm
zabbix-agent-3.4.2-1.el7.x86_64.rpm
####server1

[root@server1 ~]# ls
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-bcmath-5.4.16-42.el7.x86_64.rpm 
php-mbstring-5.4.16-42.el7.x86_64.rpm
zabbix-agent-3.4.2-1.el7.x86_64.rpm
[root@server1 ~]# yum install -y *.rpm
//安装数据库mariadb并进行初始化
[root@server1 z~]# yum install -y mariadb-server
[root@server1 ~]# systemctl start mariadb
[root@server1 ~]# mysql_secure_installation
Set root password? [Y/n] y
New password: 
Re-enter new password: 
Remove anonymous users? [Y/n] Y
Disallow root login remotely? [Y/n] Y
Remove test database and access to it? [Y/n] Y
Reload privilege tables now? [Y/n] Y
[root@server1 ~]# systemctl restart mariadb
[root@server1 ~]# mysql -p
Enter password:   //直接回车
Welcome to the MariaDB monitor.  Commands end with ; or \g.
Your MariaDB connection id is 2
Server version: 5.5.52-MariaDB MariaDB Server

Copyright (c) 2000, 2016, Oracle, MariaDB Corporation Ab and others.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

MariaDB [(none)]> create database zabbix character set utf8 collate utf8_bin;
//创建数据库
Query OK, 1 row affected (0.00 sec)

MariaDB [(none)]> grant all privileges on zabbix.* to zabbix@localhost identified by 'redhat';
//进行授权
Query OK, 0 rows affected (0.00 sec)

MariaDB [(none)]> Bye
[root@server1 ~]# cd /usr/share/doc/zabbix-server-mysql-3.4.6/
[root@server1 zabbix-server-mysql-3.4.6]# ls
AUTHORS  ChangeLog  COPYING  create.sql.gz  NEWS  README
[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 -p
Enter password:    
Welcome to the MariaDB monitor.  Commands end with ; or \g.
Your MariaDB connection id is 9
Server version: 5.5.52-MariaDB MariaDB Server

Copyright (c) 2000, 2016, Oracle, MariaDB Corporation Ab and others.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

MariaDB [(none)]> use zabbix;
Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -A

Database changed
MariaDB [zabbix]> show tables;
+----------------------------+
| Tables_in_zabbix           |
+----------------------------+
| acknowledges               |
| actions                    |
| alerts                     |
| application_discovery      |

............................

| valuemaps                  |
| widget                     |
| widget_field               |
+----------------------------+
140 rows in set (0.00 sec)

MariaDB [zabbix]> Bye
[root@server1 zabbix-server-mysql-3.4.6]# cd /etc/zabbix/
[root@server1 zabbix]# vim zabbix_server.conf 
125 DBPassword=redhat
132 DBSocket=/var/lib/mysql/mysql.sock
[root@server1 zabbix]# ll /var/lib/mysql/mysql.sock 
srwxrwxrwx 1 mysql mysql 0 Aug 14 15:28 /var/lib/mysql/mysql.sock
[root@server1 zabbix]# vim /etc/httpd/conf.d/zabbix.conf 
 19         php_value date.timezone Asia/Shanghai  //修改时区
[root@server1 zabbix]# systemctl start zabbix-server
[root@server1 zabbix]# systemctl start httpd
[root@server1 zabbix]# systemctl start zabbix-agent

####浏览器操作
分布式系统——网络监视系统zabbix3.4.2,以及向zabbix中添加被监视主机(一)_第1张图片
分布式系统——网络监视系统zabbix3.4.2,以及向zabbix中添加被监视主机(一)_第2张图片
分布式系统——网络监视系统zabbix3.4.2,以及向zabbix中添加被监视主机(一)_第3张图片
分布式系统——网络监视系统zabbix3.4.2,以及向zabbix中添加被监视主机(一)_第4张图片
分布式系统——网络监视系统zabbix3.4.2,以及向zabbix中添加被监视主机(一)_第5张图片
分布式系统——网络监视系统zabbix3.4.2,以及向zabbix中添加被监视主机(一)_第6张图片
分布式系统——网络监视系统zabbix3.4.2,以及向zabbix中添加被监视主机(一)_第7张图片
分布式系统——网络监视系统zabbix3.4.2,以及向zabbix中添加被监视主机(一)_第8张图片
分布式系统——网络监视系统zabbix3.4.2,以及向zabbix中添加被监视主机(一)_第9张图片
#####修改密码后退出重新登陆
####server2

[root@serevr2 ~]# ls
zabbix-agent-3.4.6-1.el6.x86_64.rpm
[root@serevr2 ~]# rpm -ivh zabbix-agent-3.4.6-1.el6.x86_64.rpm 
[root@serevr2 ~]# vim /etc/zabbix/zabbix_agentd.conf
 97 Server=172.25.54.1
138 ServerActive=172.25.54.1
149 Hostname=server2
[root@serevr2 ~]# /etc/init.d/zabbix-agent start
[root@serevr2 ~]# netstat -antpl

分布式系统——网络监视系统zabbix3.4.2,以及向zabbix中添加被监视主机(一)_第10张图片
##向zabbix添加需要监视的主机的四种方式

  • 方式一:自动发现

分布式系统——网络监视系统zabbix3.4.2,以及向zabbix中添加被监视主机(一)_第11张图片
分布式系统——网络监视系统zabbix3.4.2,以及向zabbix中添加被监视主机(一)_第12张图片
分布式系统——网络监视系统zabbix3.4.2,以及向zabbix中添加被监视主机(一)_第13张图片
分布式系统——网络监视系统zabbix3.4.2,以及向zabbix中添加被监视主机(一)_第14张图片
分布式系统——网络监视系统zabbix3.4.2,以及向zabbix中添加被监视主机(一)_第15张图片
分布式系统——网络监视系统zabbix3.4.2,以及向zabbix中添加被监视主机(一)_第16张图片
分布式系统——网络监视系统zabbix3.4.2,以及向zabbix中添加被监视主机(一)_第17张图片
分布式系统——网络监视系统zabbix3.4.2,以及向zabbix中添加被监视主机(一)_第18张图片
分布式系统——网络监视系统zabbix3.4.2,以及向zabbix中添加被监视主机(一)_第19张图片
分布式系统——网络监视系统zabbix3.4.2,以及向zabbix中添加被监视主机(一)_第20张图片
分布式系统——网络监视系统zabbix3.4.2,以及向zabbix中添加被监视主机(一)_第21张图片

  • 方式二:手动创建

分布式系统——网络监视系统zabbix3.4.2,以及向zabbix中添加被监视主机(一)_第22张图片
分布式系统——网络监视系统zabbix3.4.2,以及向zabbix中添加被监视主机(一)_第23张图片
分布式系统——网络监视系统zabbix3.4.2,以及向zabbix中添加被监视主机(一)_第24张图片
分布式系统——网络监视系统zabbix3.4.2,以及向zabbix中添加被监视主机(一)_第25张图片
分布式系统——网络监视系统zabbix3.4.2,以及向zabbix中添加被监视主机(一)_第26张图片

  • 方式三:自动注册

分布式系统——网络监视系统zabbix3.4.2,以及向zabbix中添加被监视主机(一)_第27张图片
分布式系统——网络监视系统zabbix3.4.2,以及向zabbix中添加被监视主机(一)_第28张图片
分布式系统——网络监视系统zabbix3.4.2,以及向zabbix中添加被监视主机(一)_第29张图片
分布式系统——网络监视系统zabbix3.4.2,以及向zabbix中添加被监视主机(一)_第30张图片
分布式系统——网络监视系统zabbix3.4.2,以及向zabbix中添加被监视主机(一)_第31张图片
等待些许时间后
分布式系统——网络监视系统zabbix3.4.2,以及向zabbix中添加被监视主机(一)_第32张图片

  • 方式四、API

[root@server1 ~]# vim zabbix-api.sh
[root@server1 ~]# chmod +x zabbix-api.sh
[root@server1 ~]# cat zabbix-api.sh 
curl -s -X POST -H 'Content-Type:application/json' -d '
{
    "jsonrpc": "2.0",
    "method": "user.login",
    "params": {
        "user": "Admin",
        "password": "redhat"
    },
    "id": 1,
    "auth": null
}' http://172.25.54.1/zabbix/api_jsonrpc.php | python -m json.tool
[root@server1 ~]# ./zabbix-api.sh 
{
    "id": 1,
    "jsonrpc": "2.0",
    "result": "2cb16ddca9d07e50b68cf736eaf3f283"
}
[root@server1 ~]# vim zabbix-api.sh
[root@server1 ~]# cat 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"
	]
    },
    "auth": "2cb16ddca9d07e50b68cf736eaf3f283",
    "id": 2
}' http://172.25.54.1/zabbix/api_jsonrpc.php | python -m json.tool
[root@server1 ~]# ./zabbix-api.sh 
{
    "id": 2,
    "jsonrpc": "2.0",
    "result": [
        {
            "host": "Zabbix server",
            "hostid": "10084",
            "interfaces": [
                {
                    "interfaceid": "1",
                    "ip": "127.0.0.1"
                }
            ]
        },
        {
            "host": "server2",
            "hostid": "10259",
            "interfaces": [
                {
                    "interfaceid": "7",
                    "ip": "172.25.54.11"
                }
            ]
        }
    ]
}[root@server1 ~]#
//删除主机
[root@server1 ~]# vim zabbix-api.sh
[root@server1 ~]# cat zabbix-api.sh 
curl -s -X POST -H 'Content-Type:application/json' -d '
{
    "jsonrpc": "2.0",
    "method": "host.delete",
    "params": [
        "10259"
     ],
    "auth": "2cb16ddca9d07e50b68cf736eaf3f283",
    "id": 2
}' http://172.25.54.1/zabbix/api_jsonrpc.php | python -m json.tool
[root@server1 ~]# ./zabbix-api1.sh 

分布式系统——网络监视系统zabbix3.4.2,以及向zabbix中添加被监视主机(一)_第33张图片

//创建主机
[root@server1 ~]# cat 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.54.2",
                "dns": "",
                "port": "10050"
            }
        ],
        "groups": [
            {
                "groupid": "2"
            }
        ],
        "templates": [
            {
                "templateid": "10001"
            }
        ],
    },
    "auth": "2cb16ddca9d07e50b68cf736eaf3f283",
    "id": 2, 
}' http://172.25.54.1/zabbix/api_jsonrpc.php | python -m json.tool
[root@server1 ~]# ./zabbix-api1.sh

分布式系统——网络监视系统zabbix3.4.2,以及向zabbix中添加被监视主机(一)_第34张图片

你可能感兴趣的:(分布式系统——网络监视系统zabbix3.4.2,以及向zabbix中添加被监视主机(一))