建一个分类信息网站,淘宝上网站建设好便宜,宝山网站建设制作,搜索引擎优化英文简称文章目录 部署zabbix-serverzabbix监控节点部署解决zabbix中文乱码创建主机组创建模版配置主机与模版关联 监控boot分区监控网卡流量出网卡流量监控进入和出的总流量监控内存监控服务器端口用户自定应监控key值 (监控mysql查询数量)zabbix触发器监控cpu监控入网卡流量 邮件告警… 文章目录 部署zabbix-serverzabbix监控节点部署解决zabbix中文乱码创建主机组创建模版配置主机与模版关联 监控boot分区监控网卡流量出网卡流量监控进入和出的总流量监控内存监控服务器端口用户自定应监控key值 (监控mysql查询数量)zabbix触发器监控cpu监控入网卡流量 邮件告警内置宏变量自动发现自定义监控key(监控tcp链接状态)优化使用传参数的方式 修改主机名 hostnamectl set-hostname zyj86
hostnamectl set-hostname zyj87部署zabbix-server
安装mysql
mkdir packages
tar -xf mysql-8.0.36-1.el8.x86_64.rpm-bundle.tar -C packages/
cd packages
yum install -y ./*
systemctl enable --now mysqldcat /var/log/mysqld.log | grep pass
2024-10-12T11:38:07.021454Z 6 [Note] [MY-010454] [Server] A temporary password is generated for rootlocalhost: hHuk/UeP!0LQmysqladmin -uroot password aaA...111 -pMySQL安全配置向导
mysql_secure_installation
Change the password for root ? ((Press y|Y for Yes, any other key for No) : n
Remove anonymous users? (Press y|Y for Yes, any other key for No) : y
Disallow root login remotely? (Press y|Y for Yes, any other key for No) : n
Remove test database and access to it? (Press y|Y for Yes, any other key for No) : y
Reload privilege tables now? (Press y|Y for Yes, any other key for No) : ysystemctl restart mysqld.service# 可选
# 设置root可以远程连接
update user set host% where userroot;
grant all privileges on *.* to root%;
flush privileges;安装zabbixserver
# 配置yum仓库
rpm -Uvh https://repo.zabbix.com/zabbix/6.0/rhel/8/x86_64/zabbix-release-6.0-5.el8.noarch.rpm
dnf clean all # 安装Zabbix serverWeb前端agent
dnf install -y zabbix-server-mysql zabbix-web-mysql zabbix-apache-conf zabbix-sql-scripts zabbix-selinux-policy zabbix-agent zabbix-get# 创建初始数据库
mysql drop user zabbixlocalhost;
mysql flush privileges;mysql -uroot -paaA...111
mysql create database zabbix character set utf8mb4 collate utf8mb4_bin;
mysql create user zabbixlocalhost identified by aaA...111;
mysql grant all privileges on zabbix.* tozabbixlocalhost;
mysql FLUSH PRIVILEGES;
mysql set global log_bin_trust_function_creators 1;
mysql quit;# 导入初始架构和数据系统将提示您输入新创建的密码。
zcat /usr/share/zabbix-sql-scripts/mysql/server.sql.gz | mysql --default-character-setutf8mb4 -uzabbix -p zabbix# Disable log_bin_trust_function_creators option after importing database schema.
mysql -uroot -paaA...111
mysql set global log_bin_trust_function_creators 0;
mysql quit;# 为Zabbix server配置数据库
编辑配置文件 vim /etc/zabbix/zabbix_server.conf
DBPasswordaaA..111# 启动Zabbix server和agent进程
启动Zabbix server和agent进程并为它们设置开机自启
systemctl restart zabbix-server zabbix-agent httpd php-fpm
systemctl enable zabbix-server zabbix-agent httpd php-fpmweb界面进行安装访问 192.168.3.86:80/zabbix
点击下一步后 这里遇到一个错误 php版本低不支持使用mysql的caching_sha2_password验证插件
无法连接到数据库 The server requested authentication method unknown to the client
PHP 7.2.8和PHP 7.1.20已经可以支持caching_sha2_password直接连接MySQL8。
切换php版本至7.4
dnf module switch-to php:7.4重启httpd服务
systemctl restart httpd再次点击下一步继续安装即可 安装完成
默认登录账号密码为 Admin zabbix
zabbix监控节点部署
# 配置yum仓库
rpm -Uvh https://repo.zabbix.com/zabbix/6.0/rhel/8/x86_64/zabbix-release-6.0-5.el8.noarch.rpm
dnf clean all # 被监控机器安装zabbix-get和zabbix-agent
yum install zabbix-get zabbix-agent -y# 修改zabbix-agent 配置文件指向server端地址
vim /etc/zabbix/zabbix_agentd.conf117 Server192.168.3.86
171 ServerActive192.168.3.86# 启动zabbix-agent
systemctl enable --now zabbix-agent.service监控信息的两种方式
主动模式定时查看业务状态及时性好。占用资源多。
被动模式监控对象上报故障占用资源少如网络存储资源。及时性差。
使用 zabbix_get 命令手动获取
zabbix_get -s 127.0.0.1 -k system.uname
Linux zyj86 4.18.0-553.el8_10.x86_64 #1 SMP Fri May 24 13:05:10 UTC 2024 x86_64将主机添加到zabbix中 选择主机所属的群组
配置主机模版 在查看图形数据中存在乱码 如图 解决zabbix中文乱码
上传到 zabbix 服务器 simkai.ttf 中文楷体字体也可上传其他字体。
cd /usr/share/zabbix/assets/fonts/
rz simkai.ttf
mv graphfont.ttf ./graphfont.ttf.bak
mv simkai.ttf graphfont.ttf刷新网页后就不会出现乱码了
创建主机组 创建模版
选择关联的群组 模版是一个监控项图形触发器等集合一个群组可包括多个模版
在添加主机后放置到群组中后 与群组关联的模版即生效可以看到有很多监控项图形触发器等监控条目。 配置主机与模版关联 当我们在模板中添加监控项后就可以在web页面中查看了如下例监控boot分区
监控boot分区
创建监控项 在这个模板中创建图形 选择刚才创建的监控项 为该数据展示图形
查看图表 监控网卡流量
创建监控项 添加两个预处理步骤 添加网卡的图形 将模板和主机关联 出网卡流量监控
键值net.if.out[ens160,bytes]
单位bps进入和出的总流量
键值net.if.total[ens160,bytes]
单位bps监控内存
键值vm.memory.size[buffers]
单位B监控服务器端口
键值net.tcp.listen[3306]
# 使用zabbix_get 查看获取的数据
[rootzyj86 ~]# zabbix_get -s 127.0.0.1 -k net.tcp.listen[3306]
1键值net.tcp.listen[3306]
# 使用zabbix_get 查看获取的数据
[rootzyj86 ~]# zabbix_get -s 127.0.0.1 -k net.tcp.port[127.0.0.1,3306]
1用户自定应监控key值 (监控mysql查询数量)
# 使用shell命令获取mysql查询数
mysqladmin status -uroot -paaA...111 21
mysqladmin status -uroot -paaA...111 21 | grep ^Uptime | awk {print $6}
104自定义key
vim /etc/zabbix/zabbix_agentd.d/self_define_parameter_mysql.confUserParametermysql.questions,mysqladmin status -uroot -paaA...111 21 | grep ^Uptime | awk {print $6}使用zabbix_agentd -t 指定key名查看是否可以获取
[rootzyj87 ~]# zabbix_agentd -t mysql.questions
mysql.questions [t|110]重启agent客户端
systemctl restart zabbix-agent.service 创建模版 UserParametermysql.questions 使用前面自定义的mysql.questions 作为key
添加图形 将模版与主机关联 zabbix触发器
触发器用于定义item的报警阈值触发器对象可以用于主机或模版。
监控cpu
创建一个 用于监控cpu的模版 创建监控项 监控cpu的负载 添加触发器
触发器表达式解释
last(/cpualert/system.cpu.load[all,avg1])1
cpualert使用这个模版的主机的system.cpu.load所有cpu的1分钟平均值最近一次数据的平均值大于1报警完整设置如下 添加图形展示 将主机和模版关联 生成 大文件 压测cpu
dd if/dev/zero of/1.txt bs1M count10000cpu利用率大于1 高于阈值出发告警
外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传
查看首页有告警信息 监控入网卡流量 当入网卡流量过高时会报警 邮件告警
开启授权码 BZgBZWARUac4TePu添加一个邮箱报警媒介 创建此媒介的告警消息模板 点击添加后如下图所示 配置好后会在媒介中有字节添加的电子邮件告警栏目可以点击右方测试按钮进行测试 如有以下结果说明上述步骤均配置成功 创建运维用户组 group_cloud2024_yunwei 创建属于group_cloud2024_yunwei组的用户group_cloud2024_zhangsan 添加该用户的报警媒介,使用163邮箱报警 设置用户为超级管理员权限 点击添加
创建触发器动作例如 zyj87 主机宕机监控项检测不到数值后触发器就会触发动 设置触发该动作的满足条件 添加操作 点击添加 内置宏变量
如定义报警消息时使用 主题 故障{TRIGGER.STATUS},服务器:{HOSTNAME1}发生: {TRIGGER.NAME}故障!
消息
告警主机:{HOSTNAME1}
告警时间:{EVENT.DATE} {EVENT.TIME}
告警等级:{TRIGGER.SEVERITY}
告警信息: {TRIGGER.NAME}
告警项目:{TRIGGER.KEY1}
问题详情:{ITEM.NAME}:{ITEM.VALUE}
当前状态:{TRIGGER.STATUS}:{ITEM.VALUE1}
事件 ID:{EVENT.ID}自动发现
需安装zabbix-agent
# 修改zabbix-agent 配置文件指向server端地址
vim /etc/zabbix/zabbix_agentd.conf117 Server192.168.3.86
171 ServerActive192.168.3.86创建自动发现规则 创建发现动作 创建动作 添加相应操作 稍等片刻zabbix会自动扫描局域网内的机器并添加到zabbix的监控中如下图192.168.3.88 TCP连接状态 1、LISTENING状态 HTTPD服务启动后首先处于侦听LISTENING状态。
2、ESTABLISHED状态 ESTABLISHED的意思是建立连接。表示两台机器正在通信。
3、CLOSE_WAIT
对方主动关闭连接或者网络异常导致连接中断这时我方的状态会变成CLOSE_WAIT 此时我方要调用close()来使得连接正确关闭
4、TIME_WAIT
我方主动调用close()断开连接收到对方确认后状态变为TIME_WAIT。TCP协议规定TIME_WAIT状态会一直持续2MSL(即两倍的分 段最大生存期)以此来确保旧的连接状态不会对新连接产生影响。处于TIME_WAIT状态的连接占用的资源不会被内核释放所以作为服务器在可能的情 况下尽量不要主动断开连接以减少TIME_WAIT状态造成的资源浪费。
目前有一种避免TIME_WAIT资源浪费的方法就是关闭socket的LINGER选项。但这种做法是TCP协议不推荐使用的在某些情况下这个操作可能会带来错误。
5、SYN_SENT状态
SYN_SENT状态表示请求连接当你要访问其它的计算机的服务时首先要发个同步信号给该端口此时状态为SYN_SENT如果连接成功了就变为 ESTABLISHED此时SYN_SENT状态非常短暂。但如果发现SYN_SENT非常多且在向不同的机器发出那你的机器可能中了冲击波或震荡波 之类的病毒了。这类病毒为了感染别的计算机它就要扫描别的计算机在扫描的过程中对每个要扫描的计算机都要发出了同步请求这也是出现许多 SYN_SENT的原因。
自定义监控key(监控tcp链接状态)
准备自定义key
vim /etc/zabbix/zabbix_agentd.d/tcp_status.conf
# Format:UserParameterkey,shell commmand
UserParametertcp.status.listen,ss -an | grep :80 |grep -i LISTEN | wc -l
UserParametertcp.status.timewait,ss -an | grep :80 |grep -i TIME-WAIT | wc -l
UserParametertcp.status.established,ss -an | grep :80 |grep -i ESTAB | wc -l
UserParametertcp.status.syn_recv,ss -an | grep :80 |grep -i SYNC-RECV | wc -l
UserParametertcp.status.syn_sent,ss -an | grep :80 |grep -i SYNC-SENT | wc -l
UserParametertcp.status.close,ss -an | grep :80 |grep -i CLOSE | wc -l重启zabbix-agent
systemctl restart zabbix-agent.service使用zabbix_get 指定key获取数据
zabbix_get -s 192.168.3.87 -k tcp.status.established创建模版用于监控tcp状态
创建使用自定义key值的监控项 tcp.status.established 在模板中添加图形展示 设置主机与群组下的模板关联 用户访问httpd服务查看图形展示 优化使用传参数的方式
vim /etc/zabbix/zabbix_agentd.d/tcp_status.confUserParametertcp.status.[*],ss -an | grep :80 |grep -i $1 | wc -l重启zabbix-agent
systemctl restart zabbix-agent.service使用key获取数据
zabbix_get -s 192.168.3.87 -k tcp.status.[listen]设置监控项键值使用 tcp.status.[listen] [] 中的listen为传入$1的参数 使用这种穿传参的方式就简化了配置文件只需要在设置健康项的时候出入需要监控的值即可。如传入time_wait listen 等 当然也可以在shell脚本中使用函数调用的方式再进行优化。