Day01-zabbix监控详解
- 一、什么是监控,为什么需要监控
- 1.1 监控概述
- 1.2 监控课程大纲
- 二、Linux的那些独孤九剑级别的命令
- 五、监控的现代时
- 六、Zabbix监控架构
- 6.1 生命周期
- 6.2 Zabbix监控架构
- 七、Zabbix 6.x Centos7 生产快速实践指南
- 7.1 主机规划
- 1) 推荐配置
- 2)容量估算
- 3) 主机规划
- 7.2 极速上手指南
- 1)部署ngx+php环境并测试
- 2)部署数据库
- 3)编译安装zabbix-server服务端及后续配置
- 4)部署前端代码代码进行访问
- 5) web访问
- 6)安装客户端
- 7.3 日常查看数据
- 7.4 zbx显示中文乱码
- 八、zbx配置详解
- 8.1 服务端配置
- 8.2 客户端配置
- 8.3 zbx agent vs zbx agent2
- 九、监控任意主机流程
- 9.1 整体流程
- 9.2 配置客户端
- 9.3 web页面添加主机
- 1)创建主机
- 2)填写主机信息
- 3)耐心等待变绿
- 9.4 小结
- 今日总结
一、什么是监控,为什么需要监控
1.1 监控概述
官方说明(来自维基百科)监控是指对行为、活动或其他变动中信息的一种持续性关注,通常是为了对人达成影响、管理、指导或保护的目的。
-
监控:
- 监视主机,架构状态
- 控制,事后追责
- 目标:
- 早发现早处理,(故障,性能,架构)
- 网站扩容(用数据说话)
-
eg:随着用户的增多,服务随时可能会被oom(Out of Memory)
1.2 监控课程大纲
-
监控与命令
-
面试题: 你们公司监控了什么内容
-
监控通用架构
-
监控生产最佳实战
-
监控设备
-
自定义监控
-
自定义监控进阶与故障案例
-
监控与告警 邮件 微信 短信 电话 钉钉 调取api接口
-
监控之886-Zabbix-Agent2
- agent:通用
- snmp:网络设备,带宽,流量
- jmx(java gateway tomcat)
- ipmi
-
自动化监控
- 自动发现
- 自动注册
- 主动与被动
- 分布式监控proxy :多个机房,多个地区监控
-
监控终极挑战
- lld 低级自动发现:自动获取、添加监控项,触发器,图形 MySQL多实例,tomcat多实例
- Zabbix内置:自动发现网卡,磁盘分区,硬盘,cpu
- 手动创建lld:(端口)
- 自动获取对应服务的端口,按照指定格式显示
- zabbix客户端,创建自动发现key
- 创建自定义监控项
- web页面操作,添加监控项原型
- web页面操作,添加触发器原型
- web页面操作,添加图形原型
- 启用自动发现规则
- zabbix api
-
全网监控项目
-
Zabbix与提升
- grafana
-
补充
二、Linux的那些独孤九剑级别的命令
项目 | 对应检查命令 |
---|---|
网站/业务/api | curl/wget |
服务 | systemctl/service/chkconfig(c6) |
进程 | ps/pstree/pgrep/pidstat/top/htop |
CPU | top/htop/vmstat/mpstat/lscpu/cpuinfo/w/uptime/sar |
内存 | top/free/ps/iotop(swap)/vmstat/mpstat/sar/hcache(buffer+cache) |
磁盘 | iotop/iostat/sar #磁盘测试命令 dd,fio |
网络 | iftop(整体带宽使用情况)/nethogs**(精确到进程)**/nstat/ifstat/mtr/sar/ip/route |
硬件: | Megacli(监控raid)/ipmitool(温度,cpu风扇转速)/lm_sensors(温度) |
五、监控的现代时
阶段 | |
---|---|
过去 | Nagios(难够死)+Cacti |
目前 | Zabbix+Grafana, OpenFalcon(小米开源),Prometheus(普罗米修斯),夜莺(didi)… |
未来 | Zabbix 7.0 lts ? , something new ?? |
六、Zabbix监控架构
6.1 生命周期
-
LTS Long Time Support 长期维护版本
-
zabbix生命周期及版本选择
链接: https://www.zabbix.com/cn/life_cycle_and_release_policy
- zabbix-in-the-furture
链接: https://www.zabbix.com/cn/roadmap
6.2 Zabbix监控架构
- Zabbix是一个CS(服务端/客户端)架构的服务.
- zabbix监控架构
- Zabbix-Agent获取数据 --发送给–> Zabbix-Server服务端 --> 数据会被存放–>数据库 <-- Zabbix Web 页面展示数据
- 采集数据----》数据收集,数据分析,报警— 》存储—》友好的展示
七、Zabbix 6.x Centos7 生产快速实践指南
7.1 主机规划
1) 推荐配置
- 配置要求:
链接: https://www.zabbix.com/documentation/5.0/zh/manual/installation/requirements
规模 | 平台 | CPU/内存 | 数据库 | 受监控的主机数量 |
---|---|---|---|---|
小型 | CentOS | Virtual Appliance | MySQL InnoDB | 100 |
中型 | CentOS | 2 CPU cores/2GB | MySQL InnoDB | 500 |
大型 | RedHat Enterprise Linux | 4 CPU cores/8GB | RAID10 MySQL InnoDB 或 PostgreSQL | >1000 |
极大型 | RedHat Enterprise Linux | 8 CPU cores/16GB | Fast RAID10 MySQL InnoDB 或PostgreSQL | >10000 |
2)容量估算
- 磁盘容量计算(优化部分再说)
参数 | 所需磁盘空间的计算公式 (单位:字节) |
---|---|
Zabbix 配置文件 | 固定大小。通常为 10MB 或更少。 |
History (历史数据) | days (items/refresh rate) 24 3600 bytes items:监控项数量。 days:保留历史数据的天数。 refresh rate:监控项的更新间隔。 bytes:保留单个值所需要占用的字节数,依赖于数据库引擎,通常为 ~90 字节。 |
Trends (趋势数据) | days (items/3600) 24 3600 bytes items:监控项数量。 days:保留历史数据的天数。 bytes:保留单个趋 势数据所需要占用的字节数,依赖于数据库引擎,通常为 ~90 字节。 |
Events (事件数据) | days events 24 3600 bytes events:每秒产生的事件数量。假设最糟糕的情况下,每秒产生 1 个事件。 days:保留历史数据的天数。 bytes:保留单个趋势数据所需的字节数,取决于数据库引擎,通常为 ~170 字节。 |
3) 主机规划
角色 | 主机名 | eth0/eth1 | 配置 |
---|---|---|---|
Zabbix服务端 | m02-zabbix-server-lidao996 | 10.0.0.62/172.16.1.62 | 1C1G(实际推荐1C2G) |
Zabbix客户端 | web01 | 10.0.0.7/172.16.1.7 | 1C1G |
Zabbix客户端 | db01 | 10.0.0.51/172.16.1.51 | 1C1G |
Zabbix客户端 | nfs01 | ||
其他综合架构部分的主机都是客户端 |
7.2 极速上手指南
-
系统:CentOS 7.x 不支持yum方式安装zabbix服务端。
-
安装方式:
- zabbix服务端编译安装
- zabbix客户端yum安装
-
部署zabbix服务端流程
-
部署ngx+php环境并测试
-
部署数据库 mariadb 10.5及以上 然后进行配置
-
编译安装zabbix-server服务端及后续配置
-
部署前端代码代码进行访问
-
web访问
-
配置客户端
1)部署ngx+php环境并测试
- nginx
[nginx-stable]
name=nginx stable repo
baseurl=http://nginx.org/packages/centos/$releasever/$basearch/
gpgcheck=1
enabled=1
gpgkey=https://nginx.org/keys/nginx_signing.key
module_hotfixes=true
- php
curl -o /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
yum install epel-release.noarch -y #webtatic 要求
curl -o /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo
rpm -Uvh https://mirror.webtatic.com/yum/el7/webtatic-release.rpm #webtatic源
yum install php72w-cli php72w-fpm php72w-gd php72w-mbstring php72w-bcmath php72w-xml php72w-ldap php72w-mysqlnd -y
- 检查安装结果
[root@m02-zbx-server yum.repos.d]# rpm -qa|egrep 'nginx|php'
php72w-pdo-7.2.34-1.w7.x86_64
php72w-mysqlnd-7.2.34-1.w7.x86_64
php72w-ldap-7.2.34-1.w7.x86_64
php72w-gd-7.2.34-1.w7.x86_64
php72w-fpm-7.2.34-1.w7.x86_64
php72w-bcmath-7.2.34-1.w7.x86_64
php72w-mbstring-7.2.34-1.w7.x86_64
nginx-1.26.0-1.el7.ngx.x86_64
php72w-common-7.2.34-1.w7.x86_64
php72w-cli-7.2.34-1.w7.x86_64
php72w-xml-7.2.34-1.w7.x86_64
[root@m02-zbx-server yum.repos.d]# rpm -qa|egrep 'nginx|php' |wc -l
11
- nginx配置
[root@m02-zbx-server yum.repos.d]# cat /etc/nginx/conf.d/zbx.oldboylinux.cn.conf
server {
listen 80;
server_name zbx.oldboylinux.cn;
root /app/code/zbx;
location / {
index index.php;
}
location ~ \.php$ {
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
}
[root@m02-zbx-server yum.repos.d]# mkdir -p /app/code/zbx
[root@m02-zbx-server yum.repos.d]# systemctl enable --now nginx
Created symlink from /etc/systemd/system/multi-user.target.wants/nginx.service to /usr/lib/systemd/system/nginx.service.
- php配置
用户名
1. 进行替换
sed -ri '/^(user|group)/s#apache#nginx#g' /etc/php-fpm.d/www.conf
2. 进行检查
egrep '^(user|group)' /etc/php-fpm.d/www.conf
user = nginx
group = nginx
- 创建目录创建测试文件
cat /app/code/zbx/info.php
<?php
phpinfo();
?>
- 启动服务与测试
[root@m02-zbx-server yum.repos.d]# systemctl enable --now php-fpm.service
Created symlink from /etc/systemd/system/multi-user.target.wants/php-fpm.service to /usr/lib/systemd/system/php-fpm.service.
- 测试web(hosts解析)
10.0.0.62 zbx.oldboylinux.cn
2)部署数据库
-
zabbix 6.0 不支持 mariadb 5.5(默认源中的mariadb)安装mariadb 10.5
-
配置maraidb yum源
[root@m03-zabbix-server-lidao996 ~]# cat /etc/yum.repos.d/mariadb.repo
[mariadb]
name = MariaDB
baseurl = http://mirrors.aliyun.com/mariadb/yum/10.5/centos7-amd64/
gpgkey = http://mirrors.aliyun.com/mariadb/yum/RPM-GPG-KEY-MariaDB
gpgcheck = 1
enabled=1
yum install -y mariadb-server
[root@m02-zbx-server yum.repos.d]# rpm -qa |grep -i mariadb
MariaDB-client-10.5.24-1.el7.centos.x86_64
MariaDB-common-10.5.24-1.el7.centos.x86_64
MariaDB-server-10.5.24-1.el7.centos.x86_64
MariaDB-compat-10.5.24-1.el7.centos.x86_64
- 启动
[root@m02-zbx-server ~]# systemctl enable mariadb
[root@m02-zbx-server ~]# systemctl start mariadb
- 基本配置
# 数据库初始化
mysql_secure_installation 仅1次。
Enter current password for root (enter for none):
# 回车
Switch to unix_socket authentication [Y/n] # 输入n
Change the root password? [Y/n] # 输入n 不设置root密码
Remove anonymous users? [Y/n] # 输入Y
Disallow root login remotely? [Y/n] # 输入Y
Remove test database and access to it? [Y/n] # 输入Y
Reload privilege tables now? [Y/n] # 输入Y
Thanks for using MariaDB! # 表示完成
- 创建库,创建用户
#1. 创建数据库要指定字符集
create database zabbix charset utf8 collate utf8_bin;
#2. 创建zabbix用户
grant all on zabbix.* to 'zabbix'@'localhost' identified by 'zabbix';
#如果数据库与zbx,php不在一起
#grant all on zabbix.* to 'zabbix'@'172.16.1.%' identified by 'zabbix' ;
MariaDB [(none)]> show databases;
+--------------------+
| Database |
+--------------------+
| information_schema |
| mysql |
| performance_schema |
| zabbix |
+--------------------+
4 rows in set (0.001 sec)
MariaDB [(none)]> select user,host from mysql.user;
+-------------+-----------+
| User | Host |
+-------------+-----------+
| mariadb.sys | localhost |
| mysql | localhost |
| root | localhost |
| zabbix | localhost |
+-------------+-----------+
4 rows in set (0.001 sec)
MariaDB [(none)]>
-
向数据库中导入数据 表,数据。。。。
-
⚠ 注意导入的顺序
sql文件在源代码中.
tar xf zabbix-6.0.29.tar.gz
cd zabbix-6.0.29/database/mysql/
mysql zabbix <schema.sql
mysql zabbix <images.sql
mysql zabbix <data.sql
mysql zabbix <double.sql
mysql zabbix <history_pk_prepare.sql
-
数据库准备完成
-
检查
MariaDB [(none)]> show tables from zabbix;
+----------------------------+
| Tables_in_zabbix |
+----------------------------+
| acknowledges |
| actions |
| alerts |
| auditlog |
| autoreg_host |
| conditions |
| config |
......
178 rows in set (0.001 sec)
[root@m02-zbx-server mysql]# mysql -e 'show tables from zabbix;'|wc -l
179
温馨提示: mysql的-e选项可以在命令行执行sql语句,注意以;结尾.
3)编译安装zabbix-server服务端及后续配置
-
准备编译安装zabbix-server
-
修改zbx服务端配置文件
-
启动zbx服务端
-
书写systemctl配置文件
-
准备编译安装zabbix-server
1. 安装依赖(软件包中已经包含)
yum install -y mysql-devel pcre-devel openssl-devel zlib-devel libxml2-devel net-snmp-devel net-snmp libssh2-devel OpenIPMI-devel libevent-devel openldap-devel libcurl-devel
2. 进行配置
在源代码目录并且ls 可以看见configure文件
#--sysconfdir 指定配置文件目录
#--enable-server 服务端
./configure --sysconfdir=/etc/zabbix/ --enable-server --with-mysql --with-net-snmp --with-libxml2 --with-ssh2 --with-openipmi --with-zlib --with-libpthread --with-libevent --with-openssl --with-ldap --with-libcurl --with-libpcre
3. 根据提示执行make install
make install
4. 检查是否成功
[root@m03-zabbix-server-lidao996 ~/zabbix-6.0.5]# echo $?
0
[root@m02-zbx-server zabbix-6.0.29]# zabbix_server --version
zabbix_server (Zabbix) 6.0.29
Revision e8261478baa 22 April 2024, compilation time: Apr 29 2024 16:08:26
Copyright (C) 2024 Zabbix SIA
zabbix6.0.14编译报错
核心错误提示: error: ‘for’ loop initial declarations are only allowed in C99 mode parse.c: In function 'eval_get_last_function_token': parse.c:391:2: error: ‘for’ loop initial declarations are only allowed in C99 mode for(int i = ctx-->ops.values_num - 1; i >= 0; i --) ^ parse.c:391:2: note: use option -std=c99 or -std=gnu99 to compile your code make[3]: *** [parse.o] Error 1 make[3]: Leaving directory `/root/zabbix-6.0.14/src/libs/zbxeval' make[2]: *** [install-recursive] Error 1 make[2]: Leaving directory `/root/zabbix-6.0.14/src/libs' make[1]: *** [install-recursive] Error 1 make[1]: Leaving directory `/root/zabbix-6.0.14/src' make: *** [install-recursive] Error 1
解决:
执行./configure之前配置临时 export CFLAGS="-std=gnu99" 然后./configure和make install
使用旧版本6.0.10,就没有这个问题.
- 修改zbx服务端配置文件(DB相关)
[root@m03-zabbix-server-lidao996 ~]# grep -n '^[a-Z]' /etc/zabbix/zabbix_server.conf
12:ListenPort=10051
38:LogFile=/tmp/zabbix_server.log
87:DBHost=localhost
99:DBName=zabbix
115:DBUser=zabbix
123:DBPassword=zabbix
507:Timeout=4
593:LogSlowQueries=3000
708:StatsAllowedIP=127.0.0.1
- 启动zabbix服务端
# 添加个虚拟用户
useradd -s /sbin/nologin -M zabbix
zabbix_server # 启动zbx服务端
# 检查端口
ss -lntup|grep 10051
# 检查进程
ps -ef |grep zabbix
[root@m02-zbx-server zabbix-6.0.29]# grep -n '^[a-Z]' /etc/zabbix/zabbix_server.conf
38:LogFile=/var/log/zabbix/zabbix_server.log
87:DBHost=localhost
99:DBName=zabbix
115:DBUser=zabbix
123:DBPassword=zabbix
507:Timeout=4
593:LogSlowQueries=3000
708:StatsAllowedIP=127.0.0.1
[root@m02-zbx-server zabbix-6.0.29]# mkdir -p /var/log/zabbix
[root@m02-zbx-server zabbix-6.0.29]# useradd -s /sbin/nologin -M zabbix
[root@m02-zbx-server zabbix-6.0.29]# chown -R zabbix.zabbix /var/log/zabbix/
- 查看zabbix_server进程
- 书写systemctl 配置文件
1. 书写systemctl配置文件
cat /usr/lib/systemd/system/zabbix-server.service
[Unit]
Description=Zabbix Server with MySQL DB
After=syslog.target network.target
[Service]
Type=simple
ExecStart=/usr/local/sbin/zabbix_server -f
User=zabbix
[Install]
WantedBy=multi-user.target
2. 加载配置文件
systemctl daemon-reload
3. 关闭手动启动的zbx server
pkill zabbix_server
4. 检查是否关闭成功
ps -ef |grep zabbix
5. 启动与检查
systemctl enable zabbix-server
systemctl start zabbix-server
systemctl status zabbix-server
补充说明:编译参数的说明
./configure 默认安装到/usr/local/下面 --sysconfdir=/etc/zabbix/ 指定配置文件的目录 --enable-server 安装的是服务端 --with-mysql 开启对mysql数据库支持。 依赖与功能 依赖与功能 --with-net-snmp --with-libxml2 --with-ssh2 --with-openipmi --with-zlib --with-libpthread --with-libevent --with-openssl --with-ldap --with-libcurl --with-libpcre
4)部署前端代码代码进行访问
cp -r zabbix-6.0.5/ui/* /app/code/zbx/
chown -R nginx.nginx /app/code/zbx/
5) web访问
10.0.0.62 zbx.oldboylinux.cn
- 遇到错误修改php.ini
[root@m02-zbx-server zabbix-6.0.29]# egrep -n '^(max_.*_time|post_max)' /etc/php.ini
368:max_execution_time = 300
378:max_input_time = 600
656:post_max_size = 80M
# 重启php
[root@m02-zbx-server zabbix-6.0.29]# systemctl restart php-fpm.service
- 重启php后刷新页面,进入下一步
- 输入php连接的数据库的信息
- 输入网站名字和选择时区(上海)
- 信息汇总
- zbx前端配置文件
[root@m02-zbx-server zabbix-6.0.29]# chown -R nginx.nginx /app/code/zbx/
- 输入用户 Admin 密码 zabbix 进入zbx中
- 欢迎来到,zbx
前端的配置文件(连接数据库与主机名等信息)
[root@m02-zbx-server conf]# egrep 'DB|ZBX_SERVER_NAME' zabbix.conf.php $DB['TYPE'] = 'MYSQL'; $DB['SERVER'] = 'localhost'; $DB['PORT'] = '0'; $DB['DATABASE'] = 'zabbix'; $DB['USER'] = 'zabbix'; $DB['PASSWORD'] = 'zabbix'; $DB['SCHEMA'] = ''; $DB['ENCRYPTION'] = false; $DB['KEY_FILE'] = ''; $DB['CERT_FILE'] = ''; $DB['CA_FILE'] = ''; $DB['VERIFY_HOST'] = false; $DB['CIPHER_LIST'] = ''; $DB['VAULT_URL'] = ''; $DB['VAULT_DB_PATH'] = ''; $DB['VAULT_TOKEN'] = ''; $DB['DOUBLE_IEEE754'] = true; $ZBX_SERVER_NAME = '全链路监控架构';
- 修改主机名
6)安装客户端
# 1. 配置zbx源
[root@m02-zbx-server ~]# rpm -ivh https://mirrors.tuna.tsinghua.edu.cn/zabbix/zabbix/6.0/rhel/7/x86_64/zabbix-release-latest.el7.noarch.rpm
[root@m02-zbx-server ~]# sed -i 's#https://repo.zabbix.com/zabbix#https://mirrors.tuna.tsinghua.edu.cn/zabbix/zabbix/#g' /etc/yum.repos.d/zabbix.repo
# 2. 安装客户端
yum install -y zabbix-agent2
# 3. 配置客户端
[root@m03-zabbix-server-lidao996 ~]# grep '^[a-Z]' /etc/zabbix/zabbix_agent2.conf
PidFile=/var/run/zabbix/zabbix_agent2.pid
LogFile=/var/log/zabbix/zabbix_agent2.log
LogFileSize=0
Server=127.0.0.1
ServerActive=127.0.0.1
Hostname=Zabbix server
Include=/etc/zabbix/zabbix_agent2.d/*.conf
ControlSocket=/tmp/agent.sock
Include=./zabbix_agent2.d/plugins.d/*.conf
# 4. 启动
systemctl enable zabbix-agent2.service
systemctl start zabbix-agent2.service
[root@m02-zbx-server ~]# ps -ef |grep agent2
zabbix 1434 1 0 08:36 ? 00:00:00 /usr/sbin/zabbix_agent2 -c /etc/zabbix/zabbix_agent2.conf
root 1459 1288 0 08:37 pts/0 00:00:00 grep --color=auto agent2
[root@m03-zabbix-server-lidao996 ~]# ss -lntup |grep agent2
tcp LISTEN 0 128 [::]:10050
[Վʦ]:* users:(("zabbix_agent2",pid=35508,fd=8))
[root@m03-zabbix-server-lidao996 ~]#
7.3 日常查看数据
- 检测-主机
- 最新数据
7.4 zbx显示中文乱码
-
原因:zbx显示中文的字体有问题,导致显示中文异常。
-
解决:把zbx中文字体替换即可
cd /app/code/zbx/assets/fonts/ # 上传一个中文的ttf字体替换zabbix自用的字体即可.
[root@m02-zbx-server fonts]# cp /app/code/zbx/assets/fonts/DejaVuSans.ttf{,.bak}
[root@m02-zbx-server ~]# cp msyh.ttc /app/code/zbx/assets/fonts/DejaVuSans.ttf
八、zbx配置详解
8.1 服务端配置
文件和目录 | |
---|---|
/etc/zabbix/zabbix_server.conf | 配置文件 |
/var/log/zabbix/zabbix_server.log | 当前放在/tmp/下面 |
/usr/lib/systemd/system/zabbix-server.service | 手写的systemctl管理文件;如果yum、rpm安装自带 |
/usr/local/share/zabbix/alertscripts/ | 用于实现告警的脚本 |
grep '^[a-Z]' /etc/zabbix/zabbix_server.conf
ListenPort=10051
LogFile=/tmp/zabbix_server.log
DBHost=localhost
DBName=zabbix
DBUser=zabbix
DBPassword=zabbix
Timeout=4
LogSlowQueries=3000
StatsAllowedIP=127.0.0.1
zbx服务端配置文件详解 | 说明 |
---|---|
ListenPort=10051 | 服务端端口 |
LogFile=/var/log/zabbix/zabbix_server.log | 日志文件 |
DBHost=localhost | 数据库地址 |
DBName=zabbix | 数据库名字 |
DBUser=zabbix | 数据库用户名 |
DBPassword=zabbix | 数据密码 |
Timeout=4 | 超时时间 |
8.2 客户端配置
zbx客户端目录详解 | |
---|---|
/etc/zabbix/zabbix_agent2.conf | 配置文件 |
/etc/zabbix/zabbix_agent2.d/ | 子配置文件目录,用于自定义监控 |
/var/log/zabbix | 日志 |
zbx客户端配置文件内容 | |
---|---|
Server=172.16.1.62 | 指定服务端地址 |
8.3 zbx agent vs zbx agent2
- 在任何一台服务器上面安装zabbix-agent ,zabbix-agent2
zabbix agent | zabbix agent2 | |
---|---|---|
开发语言 | C语言 | Go语言和C语言 |
性能 | 独立进程方式运行 | 1个进程多线程技术运行, 减少资源消耗占用较少tcp资源,能够承受更高并发 |
九、监控任意主机流程
9.1 整体流程
- 安装客户端及修改配置文件,测试
- web页面添加主机,关联模板
- 调试
9.2 配置客户端
1. 安装
# 1. 配置zbx源
[root@m02-zbx-server ~]# rpm -ivh https://mirrors.tuna.tsinghua.edu.cn/zabbix/zabbix/6.0/rhel/7/x86_64/zabbix-release-latest.el7.noarch.rpm
[root@m02-zbx-server ~]# sed -i 's#https://repo.zabbix.com/zabbix#https://mirrors.tuna.tsinghua.edu.cn/zabbix/zabbix/#g' /etc/yum.repos.d/zabbix.repo
# 2. 安装客户端
yum install -y zabbix-agent2
2. 配置
sed -i 's#Server=127.0.0.1#Server=172.16.1.62#g' /etc/zabbix/zabbix_agent2.conf
sed -i 's#ServerActive=127.0.0.1#ServerActive=172.16.1.62#g' /etc/zabbix/zabbix_agent2.conf
3. 启动
systemctl enable zabbix-agent2
systemctl start zabbix-agent2
systemctl restart zabbix-agent2
9.3 web页面添加主机
1)创建主机
2)填写主机信息
- 温馨提示:主机名称部分要填写客户端主机名或ip,如果是主机名主机名要能解析
-
填写客户端ip
-
温馨提示:客户端ip 要与客户端配置文件的ip 类似,同1个网段。
3)耐心等待变绿
- 耐心等待
- 绿了
9.4 小结
- 安装客户端及修改配置文件,测试 交给ansible
- web页面添加主机,关联模板 zabbix自动发现与自动注册
- 调试
[root@web01 conf.d]# cat status.conf
server {
listen 8000;
location / {
stub_status;
}
}
[root@web01 conf.d]# nginx -t
[root@web01 conf.d]# nginx -s reload
[root@web01 conf.d]# curl http://localhost:8000/
Active connections: 1
server accepts handled requests
19 19 7
Reading: 0 Writing: 1 Waiting: 0
[root@web01 conf.d]# curl http://localhost:8000/dddd
Active connections: 1
server accepts handled requests
20 20 8
Reading: 0 Writing: 1 Waiting: 0
- 修改ngx模板的宏
{$NGINX.STUB_STATUS.HOST} localhost
{$NGINX.STUB_STATUS.PATH} /
{$NGINX.STUB_STATUS.PORT} 8000
- web页面查看
今日总结
-
bbs-go
-
zbx服务端
-
zbx客户端:核心使用客户端监控节点
- 系统基本信息
- 通过模板监控服务信息
-
通过docker运行zabbix