Day01-zabbix监控详解

2024-05-03 23:44
文章标签 详解 day01 监控 zabbix

本文主要是介绍Day01-zabbix监控详解,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

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的那些独孤九剑级别的命令

项目对应检查命令
网站/业务/apicurl/wget
服务systemctl/service/chkconfig(c6)
进程ps/pstree/pgrep/pidstat/top/htop
CPUtop/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/内存数据库受监控的主机数量
小型CentOSVirtual ApplianceMySQL InnoDB100
中型CentOS2 CPU cores/2GBMySQL InnoDB500
大型RedHat Enterprise Linux4 CPU cores/8GBRAID10 MySQL InnoDB 或 PostgreSQL>1000
极大型RedHat Enterprise Linux8 CPU cores/16GBFast 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-lidao99610.0.0.62/172.16.1.621C1G(实际推荐1C2G)
Zabbix客户端web0110.0.0.7/172.16.1.71C1G
Zabbix客户端db0110.0.0.51/172.16.1.511C1G
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=1yum 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] # 输入nChange the root password? [Y/n] # 输入n 不设置root密码Remove anonymous users? [Y/n]   # 输入YDisallow root login remotely? [Y/n] # 输入YRemove test database and access to it? [Y/n] # 输入YReload privilege tables now? [Y/n] # 输入YThanks 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:26Copyright (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 modefor(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.target2. 加载配置文件
systemctl daemon-reload3. 关闭手动启动的zbx server
pkill zabbix_server4. 检查是否关闭成功
ps -ef |grep zabbix5. 启动与检查
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 agentzabbix 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-agent22. 配置
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.conf3. 启动
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 requests19 19 7 
Reading: 0 Writing: 1 Waiting: 0 
[root@web01 conf.d]# curl http://localhost:8000/dddd
Active connections: 1 
server accepts handled requests20 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

这篇关于Day01-zabbix监控详解的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/957912

相关文章

十四、观察者模式与访问者模式详解

21.观察者模式 21.1.课程目标 1、 掌握观察者模式和访问者模式的应用场景。 2、 掌握观察者模式在具体业务场景中的应用。 3、 了解访问者模式的双分派。 4、 观察者模式和访问者模式的优、缺点。 21.2.内容定位 1、 有 Swing开发经验的人群更容易理解观察者模式。 2、 访问者模式被称为最复杂的设计模式。 21.3.观察者模式 观 察 者 模 式 ( Obser

【操作系统】信号Signal超详解|捕捉函数

🔥博客主页: 我要成为C++领域大神🎥系列专栏:【C++核心编程】 【计算机网络】 【Linux编程】 【操作系统】 ❤️感谢大家点赞👍收藏⭐评论✍️ 本博客致力于知识分享,与更多的人进行学习交流 ​ 如何触发信号 信号是Linux下的经典技术,一般操作系统利用信号杀死违规进程,典型进程干预手段,信号除了杀死进程外也可以挂起进程 kill -l 查看系统支持的信号

Jitter Injection详解

一、定义与作用 Jitter Injection,即抖动注入,是一种在通信系统中人为地添加抖动的技术。该技术通过在发送端对数据包进行延迟和抖动调整,以实现对整个通信系统的时延和抖动的控制。其主要作用包括: 改善传输质量:通过调整数据包的时延和抖动,可以有效地降低误码率,提高数据传输的可靠性。均衡网络负载:通过对不同的数据流进行不同程度的抖动注入,可以实现网络资源的合理分配,提高整体传输效率。增

Steam邮件推送内容有哪些?配置教程详解!

Steam邮件推送功能是否安全?如何个性化邮件推送内容? Steam作为全球最大的数字游戏分发平台之一,不仅提供了海量的游戏资源,还通过邮件推送为用户提供最新的游戏信息、促销活动和个性化推荐。AokSend将详细介绍Steam邮件推送的主要内容。 Steam邮件推送:促销优惠 每当平台举办大型促销活动,如夏季促销、冬季促销、黑色星期五等,用户都会收到邮件通知。这些邮件详细列出了打折游戏、

探索Elastic Search:强大的开源搜索引擎,详解及使用

🎬 鸽芷咕:个人主页  🔥 个人专栏: 《C++干货基地》《粉丝福利》 ⛺️生活的理想,就是为了理想的生活! 引入 全文搜索属于最常见的需求,开源的 Elasticsearch (以下简称 Elastic)是目前全文搜索引擎的首选,相信大家多多少少的都听说过它。它可以快速地储存、搜索和分析海量数据。就连维基百科、Stack Overflow、

常用MQ消息中间件Kafka、ZeroMQ和RabbitMQ对比及RabbitMQ详解

1、概述   在现代的分布式系统和实时数据处理领域,消息中间件扮演着关键的角色,用于解决应用程序之间的通信和数据传递的挑战。在众多的消息中间件解决方案中,Kafka、ZeroMQ和RabbitMQ 是备受关注和广泛应用的代表性系统。它们各自具有独特的特点和优势,适用于不同的应用场景和需求。   Kafka 是一个高性能、可扩展的分布式消息队列系统,被设计用于处理大规模的数据流和实时数据传输。它

【zabbix】zabbix客户端配置

1、部署zabbix客户端 #zabbix 5.0 版本采用 golang 语言开发的新版本客户端 agent2 。#zabbix 服务端 zabbix_server 默认使用 10051 端口,客户端 zabbix_agent2 默认使用 10050 端口。systemctl disable --now firewalldsetenforce 0hostnamectl set-host

Linux中拷贝 cp命令中拷贝所有的写法详解

This text from: http://www.jb51.net/article/101641.htm 一、预备  cp就是拷贝,最简单的使用方式就是: cp oldfile newfile 但这样只能拷贝文件,不能拷贝目录,所以通常用: cp -r old/ new/ 那就会把old目录整个拷贝到new目录下。注意,不是把old目录里面的文件拷贝到new目录,

笔记-python之celery使用详解

Celery是一个用于处理异步任务的Python库,它允许你将任务分发到多个worker进行处理。以下是Celery的使用详解: 安装Celery 使用pip安装Celery: pip install celery 创建Celery实例 首先,需要创建一个Celery实例,指定broker(消息中间件)和backend(结果存储)。 from celery import Celeryap

Django 路由系统详解

Django 路由系统详解 引言 Django 是一个高级 Python Web 框架,它鼓励快速开发和干净、实用的设计。在 Django 中,路由系统是其核心组件之一,负责将用户的请求映射到相应的视图函数或类。本文将深入探讨 Django 的路由系统,包括其工作原理、配置方式以及高级功能。 目录 路由基础URL 映射路由参数命名空间URL 反向解析路由分发include 路由路由修饰符自