服务端
下载包地址:https://repo.zabbix.com/zabbix/4.4/rhel/7/x86_64/
官方安装参考地址:https://www.zabbix.com/documentation/4.0/zh/manual/installation/install_from_packages/rhel_centos
[root@zabbix-server ~]# rpm -Uvh https://repo.zabbix.com/zabbix/4.4/rhel/7/x86_64/zabbix-release-4.4-1.el7.noarch.rpm
[root@zabbix-server ~]# yum install zabbix-server-mysql zabbix-web-mysql mariadb-server httpd -y
#1.启动数据库
[root@zabbix-server ~]# systemctl start mariadb
[root@zabbix-server ~]# systemctl enable mariadb
#2.创建库
shell> mysql -uroot
mysql> create database zabbix character set utf8 collate utf8_bin;
mysql> create user 'zabbix'@'localhost' identified by 'zabbix';
mysql> grant all privileges on zabbix.* to 'zabbix'@'localhost';
mysql> quit;
#3.导入数据
[root@zabbix-server ~]# zcat /usr/share/doc/zabbix-server-mysql-4.4.9/create.sql.gz | mysql -uzabbix -pzabbix zabbix
#4.配置zabbix-server连接数据库
[root@zabbix-server ~]# grep "^DB" /etc/zabbix/zabbix_server.conf
DBHost=localhost
DBName=zabbix
DBUser=zabbix
DBPassword=zabbix
#5.配置web页面的前端:
[root@zabbix-server ~]# vim /etc/httpd/conf.d/zabbix.conf
php_value date.timezone Asia/Shanghai
#5.启动zabbix-server服务以及web页面的httpd服务
[root@zabbix-server ~]# systemctl enable zabbix-server httpd
[root@zabbix-server ~]# systemctl start zabbix-server httpd
#6.检查端口 zabbix-server 10051 端口
[root@zabbix-server ~]# netstat -lntp | grep -E "10051|80|3306"
tcp 0 0 0.0.0.0:10051 0.0.0.0:* LISTEN 3298/zabbix_server
tcp 0 0 0.0.0.0:3306 0.0.0.0:* LISTEN 2920/mysqld
tcp6 0 0 :::10051 :::* LISTEN 3298/zabbix_server
tcp6 0 0 :::80 :::* LISTEN 3292/httpd
进入页面登录:http://10.0.0.71/zabbix
账号:Admin 密码:zabbix
字体汉化:
[root@zabbix ~ 12:53:05]# cd /usr/share/fonts/dejavu
#将windowns上的字体文件上传上来(C盘/windows/fonts选个你喜欢的)
[root@zabbix /usr/share/fonts/dejavu 12:53:10]# mv DejaVuSans.ttf DejaVuSans.ttf.bak #将默认的字体给他备份
[root@zabbix /usr/share/fonts/dejavu 12:53:10]# mv 你传的字体 DejaVuSans.ttf #将你上传的字体改位服务默认的名字
客户端
[root@web01 ~]# rpm -ivh
https://mirror.tuna.tsinghua.edu.cn/zabbix/zabbix/4.4/rhel/7/x86_64/zabbix-agent-4.4.9-1.el7.x86_64.rpm
[root@web01 ~]# vim /etc/zabbix/zabbix_agentd.conf
Server=172.16.1.71
[root@web01 ~]# systemctl enable zabbix-agent
[root@web01 ~]# systemctl start zabbix-agent
[root@web01 ~]# netstat -lntp|grep "10050"
tcp 0 0 0.0.0.0:10050 0.0.0.0:* LISTEN 122967/zabbix_agent
tcp6 0 0 :::10050 :::* LISTEN 122967/zabbix_agent
导出数据库
在172.16.1.51上安装数据库
[root@db01 ~ 13:28:43]#yum install mariadb mariadb-server -y
[root@db01 ~ 13:28:43]#systemctl enable mariadb
[root@db01 ~ 13:28:43]# systemctl start mariadb
[root@db01 ~ 13:28:43]# mysql -uroot -poldxu.com
MariaDB [(none)]> create database zabbix character set utf8 collate utf8_bin;
MariaDB [(none)]> create user 'zabbix'@'%' identified by 'zabbix';
MariaDB [(none)]> grant all privileges on zabbix.* to 'zabbix'@'%';
#登陆172.16.1.71 将数据库文件导出,然后导入到172.16.1.51的zabbix库中
[root@zabbix ~ 13:58:03]# mysqldump -uroot -p123456 -B zabbix > zabbix.sql #(有密码就用-p没有就不写)
[root@zabbix-server ~]# cat zabbix.sql | mysql -h 172.16.1.51 -uzabbix -pzabbix zabbix
#停止172.16.1.71的数据库
[root@zabbix-server ~]# systemctl stop mariadb
#修改172.16.1.71 上zabbix-web连接数据库配置文件
[root@zabbix-server ~]# vim /etc/zabbix/web/zabbix.conf.php
6 $DB['SERVER'] = '172.16.1.51';
#修改172.16.1.71 上zabbix-server连接数据库配置文件
[root@zabbix ~ 14:06:05]# vim /etc/zabbix/zabbix_server.conf
91 DBHost=172.16.1.51
#重启172.16.1.71 zabbix服务、httpd服务
[root@zabbix-server ~]# systemctl restart zabbix-server httpd
自定义监控-->自定义触发器--->报警
需求:江口看好你当前被控主机的登录数,如果登录数超过了2个,则报警提示
1.如何获取到当前的登录数,如果登录数超过2个,则报警提示
2.如何将当前获取的登录数,只作为一个监控项,Format: UserParameter=<key>
3.如何检查zabbix-server能够获取到该主机自定义的监控项
在zabbix-agent被控端,配置自定义监控项
[root@web01 ~ 20:04:52]# cat /etc/zabbix/zabbix_agentd.d/user.conf #文件名称随意,必须是.conf结尾
UserParameter=user_number,who | wc -l
[root@web01 ~ 15:16:58]# systemctl restart zabbix-agent.service
在zabbix-server端测试是否能正常提取到该被控端主机自定义监控项的“值”
[root@zabbix ~ 21:08:49]# yum install zabbix-get -y
[root@zabbix ~ 21:35:14]# zabbix_get -s 172.16.1.9 -k user_numbers # -s 指定探测那台主机 -k 指定探测的监控项名称
登录zabbix-web,,找到对应的主机,点击监控项。点击新建监控项
用户登录会话数如果达到了3则应该发送告警(触发器)
告警(只要在前台zabbix页面报警,并不会邮件通知)
配置发件人(管理-->报警媒介-->添加发件人邮箱 )
配置当有监控项不正常时,通过触发器调用报警媒介向收件人发邮件(出发动作)
最终会将消息通过所有的介质发送给zabbix administrator 群组,就相当于给zabbix用户发送qq邮箱报警内容
最后需要zabbix用户接受的消息介质,以及对应的邮箱账号(收件人)