定义:
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等平台上。
特点:
安装与配置简单,学习成本低
支持多语言(包括中文)
免费开源
自动发现服务器与网络设备
分布式监视以及WEB集中管理功能
可以无agent监视
用户安全认证和柔软的授权方式
通过WEB界面设置或查看监视结果
email等通知功能
配置环境:
OS:redhat 7.3 64bit
zabbix版本:3.4
mariadb:5.5
hostname:server1
ip:172.25.70.1
在server1中(rhel7.3的虚拟机)
[root@server1 ~]# yum insatll -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-bcmath-5.4.16-42.el7.x86_64.rpm
php-mbstring-5.4.16-42.el7.x86_64.rpm
[root@server1 ~]# cd /etc/zabbix/
[root@server1 zabbix]# ls ###查看是否生成zabbix_server.conf文件
web zabbix_server.conf
[root@server1 zabbix]# yum install mariadb-server -y
[root@server1 zabbix]# systemctl start mariadb
[root@server1 zabbix]# 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)]> exit
Bye
[root@server1 zabbix]# mysql_secure_installation ##做安全初始化
[root@server1 zabbix]# mysql -p
MariaDB [(none)]> create database zabbix character set utf8 collate utf8_bin;
Query OK, 1 row affected (0.00 sec) ###创建zabbix的库
MariaDB [(none)]> grant all privileges on zabbix.* to zabbix@localhost identified by 'westos';
###进行授权
Query OK, 0 rows affected (0.00 sec)
MariaDB [(none)]> exit
Bye
[root@server1 ~]# cd /usr/share/doc/
[root@server1 doc]# cd zabbix-server-mysql-3.4.6/
[root@server1 zabbix-server-mysql-3.4.6]# ls
AUTHORS ChangeLog COPYING create.sql.gz NEWS README
zcat create.sql.gz | mysql -u zabbix -p zabbix ###导入默认的zabbix数据库信息
Enter password:密码为westos,之前授权过的
[root@server1 zabbix-server-mysql-3.4.6]# cd /etc/zabbix/
[root@server1 zabbix]# ls
web zabbix_server.conf
[root@server1 zabbix]# vim zabbix_server.conf ###编辑配置文件
117 DBUser=zabbix
118
119 ### Option: DBPassword
120 # Database password. Ignored for SQLite.
121 # Comment this line if no password is used.
122 #
123 # Mandatory: no
124 # Default:
125 DBPassword=westos
126
127 ### Option: DBSocket
128 # Path to MySQL socket.
129 #
130 # Mandatory: no
131 # Default:
132 DBSocket=/var/lib/mysql/mysql.sock
[root@server1 zabbix]# ll /var/lib/mysql/mysql.sock ##查看socket文件是否存在
srwxrwxrwx 1 mysql mysql 0 Aug 14 03:11 /var/lib/mysql/mysql.sock
[root@server1 zabbix]# cd /etc/httpd/conf.d/
[root@server1 conf.d]# ls
autoindex.conf php.conf README userdir.conf welcome.conf zabbix.conf
[root@server1 conf.d]# vim zabbix.conf
19 php_value date.timezone Asia/Shanghai ##修改时区
[root@server1 conf.d]# systemctl start zabbix-server ##开启zabbix-server服务
[root@server1 conf.d]# systemctl start httpd ##开启apache服务
[root@server1 conf.d]# getenforce ##查看selinux的状态是否为disabled
Disabled
[root@server1 conf.d]# iptables -L ##查看防火墙是否关闭
Chain INPUT (policy ACCEPT)
target prot opt source destination
Chain FORWARD (policy ACCEPT)
target prot opt source destination
Chain OUTPUT (policy ACCEPT)
target prot opt source destination
[root@server1 ~]# yum install -y zabbix-agent-3.4.6-1.el7.x86_64.rpm
###安装zabbix-agent
[root@server1 ~]# systemctl start zabbix-agent ###开启服务
在浏览器中输入172.25.70.1/zabbix访问:
安装完成,登录查看 用户为Admin,密码为zabbix
点击左上角小人头进入修改,可以修改密码也可以将语言修改为中文
点击配置->主机->点击启用zabbix server
在server2中(rhel6.5)为redhat企业6.5版本的虚拟机:
1.安装zabbix-agent
[root@server2 ~]# rpm -ivh zabbix-agent-3.4.6-1.el6.x86_64.rpm
warning: zabbix-agent-3.4.6-1.el6.x86_64.rpm: Header V4 RSA/SHA512 Signature, key ID a14fe591: NOKEY
Preparing... ########################################### [100%]
1:zabbix-agent ########################################### [100%]
[root@server2 ~]# cd /etc/zabbix/
[root@server2 zabbix]# vim zabbix_agentd.conf
[root@server2 zabbix]# /etc/init.d/zabbix-agent start
Starting Zabbix agent: [ OK ]
配置文件修改如下:
[root@server2 zabbix]# netstat -antlp ##查看端口是否开启
第一种:手动添加
点击配置—>主机—>创建主机
添加主机:
主机名称:必须要和agent中的HostName中一样,否则会出错,
agent代理程序的接口:填写zabbix-agent的ip
添加模版:
模版–选择–“Template OS Linux” –选择–添加;
添加 完成 agent添加到zabbix监控中,默认是被动模式
再次点击配置里的主机就可以看到添加成功
第二种:自动发现
配置–>自动发现–>创建发现规则
填写如下,主要时ip范围和检查项(zabbix),完成后添加启用
配置–>动作–>事件源–>自动发现–>创建动作
添加主机、添加到主机群组、与模板关联
第三种:自动注册
点击配置–>事件源–>自动注册–>创建动作
动作里设置主机名字即可
在操作里添加主机、添加到主机群组、与模板关联
添加主机,添加到主机群组
添加模版连接
完成后添加,查看自动注册信息,并点击主机查看
1、获取Token
vim zabbix.api
chmod +x zabbix.api
./zabbix.api
api文件内容:
调用Zabbix api使用的是HTTP的POST请求方式
如下图:请求头部为:’Content-Type: application/json’ -d’
请求的url为:http://172.25.70.1/zabbix/api_jsonrpc.php
成功后返回值,会显示zabbix版本和Token
结果如下:
2.查看监控信息
vim zabbix.api 内容
调用api结果如下:
3.删除监控
api文件中的10255为之前get信息时,server2的hostid
调用api
在网页中查看发现server2已删除
4.添加监控
api文件内容如下:
文件中的groupid可以在网页查看
文件中的templateid也是在网页看
调用api结果
在网页查看发现server2成功添加