1、 准备工作
zabbix-server : 10.0.0.21
zabbix-agent : 10.0.0.61
关闭防火墙和selinux
systemctl stop firewalld
setenforce 0
2、LAMP环境
yum install -y httpd mariadb-server mariadb php php-mysql php-gd libjpeg* php-ldap php-odbc php-pear php-xml php-xmlrpc php-mhash
需要下载安装:
rpm -ivh php-mbstring-5.4.16-42.el7.x86_64.rpm
rpm -ivh php-bcmath-5.4.16-42.el7.x86_64.rpm
配置Apache服务
[root@zabbix ~]# vi /etc/httpd/conf/httpd.conf
<IfModule dir_module>
DirectoryIndex index.html index.php #添加
</IfModule>
配置PHP
[root@zabbix ~]# vim /etc/php.ini
date.timezone = PRC # 添加时区
启动Apache和数据库
[root@zabbix ~]# systemctl start httpd.service
[root@zabbix ~]# systemctl start mariadb.service
初始化数据库
[root@zabbix ~]# mysql_secure_installation
创建数据库
MariaDB [(none)]> CREATE DATABASE zabbix character set utf8 collate utf8_bin;
Query OK, 1 row affected (0.00 sec)
创建用户并授权
MariaDB [(none)]> GRANT all ON zabbix.* TO 'zabbix'@'%' IDENTIFIED BY 'zabbix';
Query OK, 0 rows affected (0.00 sec)
查看和更新
MariaDB [(none)]> show grants for 'zabbix'@'%';
+-------------------------------------------------------------------------------------------------------+
| Grants for zabbix@% |
+-------------------------------------------------------------------------------------------------------+
| GRANT USAGE ON *.* TO 'zabbix'@'%' IDENTIFIED BY PASSWORD '*DEEF4D7D88CD046ECA02A80393B7780A63E7E789' |
| GRANT ALL PRIVILEGES ON `zabbix`.* TO 'zabbix'@'%' |
+-------------------------------------------------------------------------------------------------------+
2 rows in set (0.00 sec)
MariaDB [(none)]> flush privileges;
Query OK, 0 rows affected (0.00 sec)
3、 配置zabbix服务
安装EPEL源和zabbix的yum源
yum install epel-release -y
rpm -ivh http://repo.zabbix.com/zabbix/3.5/rhel/7/x86_64/zabbix-release-3.5-1.el7.noarch.rpm
安装zabbix-server服务
yum install zabbix-server-mysql zabbix-web-mysql -y
zcat /usr/share/doc/zabbix-server-mysql-4.0.0/create.sql.gz | mysql -uzabbix -pzabbix -h 10.0.0.21 zabbix
注释:以上为导入数据到数据库zabbix中(最后一个zabbix是数据库zabbix),且因为用户zabbix是%(任意主机),所以登录时需要加上当前主机ip(-h 10.0.0.21),密码是用户zabbix登陆密码zabbix。
配置zabbix-server的数据库和密码
vi /etc/zabbix/zabbix_server.conf
DBName=zabbix
DBUser=zabbix
DBPassword=zabbix
修改时区
vi /etc/httpd/conf.d/zabbix.conf
php_value date.timezone Asia/Shanghai
启动zabbix服务
systemctl enable zabbix-server
systemctl start zabbix-server
查看服务状态
[root@zabbix ~]# netstat -nlutp | grep zabbix
tcp 0 0 0.0.0.0:10051 0.0.0.0:* LISTEN 2122/zabbix_server
tcp6 0 0 :::10051 :::* LISTEN 2122/zabbix_server
注释:监听在10051端口上,如果没监听成功,可重启zabbix-server服务。
重启Apache
systemctl restart httpd.service
访问http://10.0.0.21/zabbix
按照提示:配置数据库名和密码和端口(zabbix,zabbix,3306)后,下一步就好。
默认登陆密码和用户名:Admin,zabbix
注释:配置中文环境:Administration-Users-Admin-语言设置。
如下图中文界面:
参考:https://blog.csdn.net/rujianxuezha/article/details/79844190
4、配置zabbix
构建zabbix监控步骤:首先创建一个模板,然后在此模板下创建需要的监控项、触发器等内容,最后在添加主机时直接将此模板链接到每个主机即可。这样,每个主机就自动链接上了模板中的所有监控项和触发器。
一、模板
(1)创建模板
点击 “配置”-“模板”,就可以查看到系统已经存在的模板,如下图:
如果需要创建新的模板,点击右侧的“创建模板”选项。根据提示创建应用集、监控项、触发器等。
(2)创建应用集
点击“配置”选项,然后选择“模板”,任意选择一个模块,或者新建一个模板,在模板下,可以看到有应用集选项。进入应用集后,可以看到已有的应用集,也可以创建新的应用集。
(3)监控项
点击“配置”选项,然后选择“模板”,任意选择一个模块,或者新建一个模板,在模板下,可以看到有监控项选项。在这里不创建新的应用集和模板,使用已有的“Template OS Linux”模板,在这个模板里创建新的监控项“http server 80 status”,如下图
(4)触发器
一些常用触发器的表达式函数及其含义。
1、diff
参数:不需要参数
支持值类型:float,int,str,text,log
作用:返回值为1表示最近的值与之前的值不同,即值发生变化,0表示无变化。
2、last
参数:#num
支持值类型:float,int,str,text,log
作用:获取最近的值,“#num”表示最近第N个值,请注意当前的#num和其他一些函数的#num的意思是不同的,例如:
last(0)或last()等价于last(#1),表示获取最新的值,last(#3)表示最近第3个值(并不是最近的三个值),注意,last函数使用不同的参数将会得到不同的值,#2表示倒数第二新的数据。例入从老到最新值为1,2,3,4,5,6,7,8,9,10,last(#2)得到的值为9,last(#9)得到的值为2。
另外,last函数必须包含参数。
3、avg
参数:秒或#num
支持类型:float,int
作用:返回一段时间的平均值
例如,avg(5)表示最后5秒的平均值,avg(#5)表示最近5次得到值的平均值,avg(3600,86400)表示一天前的一个小时的平均值。
如果仅有一个参数,表示指定时间的平均值,从现在开始算起,如果有第二个参数,表示漂移,从第二个参数前开始算时间,#n表示最近n次的值。
4、change
参数:无需参数
支持类型:float,int,str,text,log
作用:返回最近获得值与之前获得值的差值,返回字符串0表示相等,1表示不同。
例如,change(0)>n表示最近得到的值与上一个值的差值大于n,其中,0表示忽略参数。
5、nodata
参数:秒
支持值类型:any
作业:探测是否能接收到数据,当返回值为1表示指定的间隔(间隔不应小于30秒)没有接收到数据,0表示其正常接收数据。
创建触发器:如下图
二、主机
点击“配置”-“主机”,进入主机和主机组的配置界面,如下图。可以看到已经创建好的几个主机,监控的是一个简单的web服务集群。
(1)创建主机
点击“创建主机”,就进入了被监控主机的创建界面:
依次填写主机名称、群组、 ip地址等,在点击“添加”;完了选择“模板”,选择连接主机的模板;最后确定,这时候就可以看到创建的主机啦。
(2)配置zabbix-agent
当然,如果需要完成对该主机的监控,还要在被监控主机上安装配置zabbix-agent,配置完成后启动zabbix-agent服务。在“配置”-“主机”中就可以看到添加好的的主机的监控状态。配置如下:
配置zabbix-agent
vim /etc/zabbix/zabbix_agentd.conf
Server=10.0.0.21 #这个地址为zabbix-server的ip
ServerActive=10.0.0.21
Hostname=zabbix server
启动服务
systemctl start zabbix-agent
systemctl enable zabbix-agent
【注释】如果监控zabbix-server自己,zabbix_agentd.conf 里面的ip配置为127.0.0.1,表示本机。