配置监控端zabbix-server
第一步、安装zabbix
zabbix包可以在zabbix官网下载Zabbix:企业级开源监控解决方案
dnf install zabbix-server-mysql zabbix-web-mysql zabbix-nginx-conf zabbix-sql-scripts zabbix-selinux-policy zabbix-agent mysql-server langpacks-zh_CN
第二步、启动mysql数据库
systemctl enable mysqld --now
第三步、配置mysql数据库
1、创建数据库zabbix
mysql> create database zabbix character set utf8mb4 collate utf8mb4_bin;
Query OK, 1 row affected (0.14 sec)
2、允许非SUPER用户创建存储函数(Zabbix安装时需要)
mysql> set global log_bin_trust_function_creators = 1;
Query OK, 0 rows affected (0.00 sec)
3、创建本地用户 zabbix@localhost 并设置密码为 'zabbix'
mysql> create user zabbix@localhost identified by 'zabbix';
Query OK, 0 rows affected (0.09 sec)
4、授予该用户对 zabbix 数据库的完整操作权限
mysql> grant all privileges on zabbix.* to zabbix@localhost;
Query OK, 0 rows affected (0.10 sec)
第四步、配置zabbix server的数据库连接密码
vim +129 /etc/zabbix/zabbix_server.conf
DBPassword=zabbix
第五步、配置 Zabbix Agent 的主机名标识
#与 Server 端添加主机时指定的名称完全一致
#不支持空格和特殊字符(建议使用 a-z0-9_-)
vim +182 /etc/zabbix/zabbix_agentd.conf
Hostname=zabbixserver
第六步、配置zabbix的前端访问页面
vim /etc/nginx/conf.d/zabbix.conf
# 打开第2、3行的注释,结果如下所示:
server {
listen 8080; # 监听非标准端口(避免与默认80端口冲突)
server_name example.com; # 替换为您的实际域名或IP
...以下省略...
第七步、导入数据库
cp /usr/share/zabbix-sql-scripts/mysql/server.sql.gz .
gzip -d server.sql.gz
mysql -uzabbix -pzabbix zabbix < server.sql
第八步、启动服务
systemctl enable zabbix-server zabbix-agent nginx php-fpm --now
第九步、访问zabbix的8080端口的ip地址,按序进行安装
用户名是Admin,密码是zabbix
zabbix就安装完了
配置被监控端zabbix-agent
第一步、修改web1的zabbix-agent配置文件
vim /etc/zabbix/zabbix_agentd.conf
117 Server=127.0.0.1,192.168.88.5
182 Hostname=web1
第二步、启动服务
systemctl enable zabbix-agent --now
Created symlink /etc/systemd/system/multi-user.target.wants/zabbix-agent.service → /usr/lib/systemd/system/zabbix-agent.service.
第三步、在web页面中添加对web1的监控
UserParameter=自定义key值,命令
# 命令的执行结果,是key的value
ZBX灯亮起证明连接成功
其它被监控端配置同理
常用监控指标
- Space utilization:以百分比显示的磁盘利用率
- Used space:已用磁盘空间
- Available memory:可用内存
- CPU idle time:CPU空闲时间。不宜过低。
- Load average (1m avg)、Load average (5m avg)、Load average (15m avg):CPU1分钟、5分钟、15分钟的平均负载。这个值不应长期大于核心数。
- Interface eth0: Bits received:网卡接收到的数据量
- Interface eth0: Bits sent:网卡发送的数据量
- Number of processes:系统运行的进程数
- Number of logged in users:已登陆的用户数
自定义监控指标
- 创建key的语法
UserParameter=自定义key值,命令
# 命令的执行结果,是key的value
- 创建自定义配置文件。文件名自定义。监控哪个服务器就在哪个服务器配
vim /etc/zabbix/zabbix_agentd.d/usercnt.conf
UserParameter=usercnt,sed -n '$=' /etc/passwd
systemctl restart zabbix-agent.service
- 验证自定义监控项
# 1. 安装zabbix-get
[root@zabbixserver ~]# yum install -y zabbix-get
[root@web1 ~]# yum install -y zabbix-get
# 2. 获取监控项的值
[root@web1 ~]# zabbix_get -s 127.0.0.1 -k usercnt
46
[root@zabbixserver ~]# zabbix_get -s 192.168.88.100 -k usercnt
46
- 创建模板
配置告警
第一步、配置触发器规则
第二步、创建邮件类型的报警媒介
第三步、为用户关联邮箱