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=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 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-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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mfbz.cn/a/590456.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

alphassl ocsp通配符证书

AlphaSSL是GlobalSign旗下的一个子品牌&#xff0c;GlobalSign是知名度较高的正规SSL证书颁发机构&#xff0c;应用范围广泛&#xff0c;比如电子商务、在线支付、网上银行等网站&#xff0c;还可以兼容几乎99%的主流浏览器。AlphaSSL旗下的DV基础型通配符SSL证书&#xff0c;不…

idm线程怎么设置 idm线程数怎么上不去 idm免安装

IDM&#xff08;Internet Download Manager&#xff09;是一款流行的下载管理软件&#xff0c;IDM采用高级的多线程下载技术&#xff0c;可以将下载文件分成多个部分同时下载&#xff0c;从而提高下载速度&#xff0c;它因高效的下载速度和丰富的功能而受到用户的喜爱。接下来&…

YOLO实验记录

2023年2月17日 配置与环境 CPU&#xff1a;Intel Xeon Gold 6133 CPU 2.50GHz x8 GPU&#xff1a;NVIDIA Tesla V100 32G显存 python 3.8 pytorch1.12.1 cuda11.4 cuDNN 8.2.1 训练配置信息 输入图像尺寸&#xff1a;1280x1024 预训练模型&#xff1a;无 训练epoch&#x…

下载Node.js及其他环境推荐nvm

文章目录 项目场景&#xff1a;下载Node.js环境配置配置环境变量 安装脚手架安装依赖安装淘宝镜像安装 cnpm&#xff08;我需要安装&#xff09;nvm 安装 Node.js &#xff08;推荐&#xff09; 项目场景&#xff1a; 提示&#xff1a;这里简述项目相关背景&#xff1a; 项目…

基于STM32的最小系统电路设计(STM32F103C8T6为例)

前言&#xff1a;本篇博客为嵌入式硬件领域的文章&#xff0c;对 STM32 的最小系统电路设计进行教学。本篇博客以嘉立创 EDA&#xff08;标准版&#xff09;进行绘制 STM32F103C8T6 的最小系统电路 PCB 板&#xff0c;STM32 的最小系统通常包括&#xff1a;微控制器、时钟电路、…

PHP医院安全(不良)事件报告系统源码 vue2+element支持11大类不良事件上报、审核处理、分析改进

PHP医院安全&#xff08;不良&#xff09;事件报告系统源码 vue2element支持11大类不良事件上报、审核处理、分析改进 医院安全&#xff08;不良&#xff09;事件管理系统采用无责的、自愿的填报不良事件方式&#xff0c;有效地减轻医护人员的思想压力&#xff0c;实现以事件为…

unity制作app(4)--PANEL套scroll view

这个东西之前做过&#xff0c;主要是唤醒界面可能失去控制权&#xff0c;一步一步做吧。 1.panel是一个容器&#xff0c;初始形状等价于屏幕&#xff0c;是可以按比例调整的&#xff01; 比如此时我想做“加入我们”里面的信息录入功能&#xff0c;panel的大小和位置如下所示…

【深入浅出MySQL】「性能调优」高性能查询优化MySQL的SQL语句编写

高性能查询优化MySQL的SQL语句编写准则这里写目录标题 总体优化大纲&#xff08;1&#xff09;优化查询性能&#xff1a;通过索引降低全表扫描频率优化方向案例介绍问题分析解决方案建立复合索引建立单独索引 &#xff08;2&#xff09;优化数据表与查询&#xff1a;合理使用非…

零基础学习数据库SQL语句之操作表中数据的DML语句

我们的数据库是根据页面原型和相关需求完成相关开发的 在表中添加数据 删除数据 修改数据 添加数据 页面模型 当点击保存的时候就能将表单数据提交到服务端 服务端将数据添加到数据库 我们要用insert语句 将数据添加到数据库中 代码演示 CREATE DATABASE Dduo; USE Dduo…

数据库(MySQL)—— 多表查询

数据库&#xff08;MySQL&#xff09;—— 多表查询 多表关系一对多多对多一对一多表查询概述数据准备查询形式笛卡尔积 分类连接查询内连接外连接左外连接右外连接 自连接联合查询 今天我们来进入MySQL中一个非常重要的部分&#xff1a;多表查询&#xff1a; 多表关系 多表关…

生产看板:最直观的车间管理方式之一,是马是马户牵出来溜溜。

可视化生产看板在组织工业生产中扮演着重要的角色&#xff0c;它可以提供实时的信息和可视化的数据&#xff0c;帮助团队和管理层更好地监控和管理生产过程。 以下是可视化生产看板在组织工业生产中的作用&#xff1a; 实时监控&#xff1a;可视化生产看板可以显示实时的生产数…

Spring - 10 ( 9000 字 Spring 入门级教程 )

一&#xff1a;MyBatis 进阶 动态 SQL 是 Mybatis 的强大特性之⼀&#xff0c;能够完成不同条件下不同的 sql 拼接。 1.1 if 标签 在注册用户的时候&#xff0c;可能会有这样⼀个问题&#xff0c;如下图所示&#xff1a; 注册分为两种字段&#xff1a;必填字段和非必填字段&…

原创字幕雨技术,二次剪辑混剪搬运短视频必备,轻松过原创

原创字幕雨素材教程&#xff0c;教你如何制作自己专属的字幕雨&#xff0c; 把素材运营到自己的二次剪辑&#xff0c;提升二创短视频的原创度&#xff0c; 帮助你做搬运或者短视频运营&#xff0c;轻松过原创。 课程目录&#xff1a; 1&#xff1a;什么是字幕雨 2&#xf…

FP16、BF16、INT8、INT4精度模型加载所需显存以及硬件适配的分析

大家好,我是herosunly。985院校硕士毕业,现担任算法研究员一职,热衷于机器学习算法研究与应用。曾获得阿里云天池比赛第一名,CCF比赛第二名,科大讯飞比赛第三名。拥有多项发明专利。对机器学习和深度学习拥有自己独到的见解。曾经辅导过若干个非计算机专业的学生进入到算法…

【c++】继承学习(一):继承机制与基类派生类转换

&#x1f525;个人主页&#xff1a;Quitecoder &#x1f525;专栏&#xff1a;c笔记仓 朋友们大家好&#xff0c;本篇文章我们来学习继承部分 目录 1.继承的概念和定义继承的定义继承基类成员的访问方式变化 2.基类和派生类对象赋值转换3.继承中的作用域 1.继承的概念和定义 …

webpack基础---常用loader

webpack 命令式和配置文件 html-webpack-plugin 配置项&#xff1a;{ templete: filename: inject: } 清除上次打包的文件&#xff0c;output: { clear: true } mode选项&#xff1a; none development prodution souce-map&#xff1a;可以精准定位代码行数 { devt…

使用node调用chrome(基于selenium-webdriver包)

下载测试版chrome和chromedriver https://googlechromelabs.github.io/chrome-for-testing/ 把chromedriver复制到chrome的文件里 设置环境变量 编写代码 const { Builder, Browser, By, Key, until } require(selenium-webdriver) const puppeteer require(puppeteer)//查…

Flask模版详解

Flask模版详解 概述Jinja2模板引擎渲染模版的步骤变量控制结构自定义错误页面链接静态文件 概述 模板是一个包含响应文本的文件&#xff0c;其中包含用占位变量表示的动态部分&#xff0c;其具体值只在请求的上下文中才能知道。使用真实值替换变量&#xff0c;再返回最终得到的…

空闲缓冲区(empty) 和 非空缓冲区(full) 的的概念和区别【操作系统 生产者——消费者进程】

首先&#xff0c;我们得有个环境——通常是个缓冲池&#xff0c;这个池子里可以塞很多缓冲区&#xff0c;它们是用来存放数据的。生产者就是那个不停造东西的家伙&#xff0c;而消费者则是等着用这些东西的人。 1. 空闲缓冲区&#xff08;empty&#xff09;&#xff1a; 这玩意…

C语言:文件操作(上)

片头 嗨&#xff01;小伙伴们&#xff0c;今天我们来学习新的知识----文件操作&#xff0c;准备好了吗&#xff1f;我要开始咯! 目录 1. 为什么使用文件&#xff1f; 2. 什么是文件&#xff1f; 3. 二进制文件和文本文件&#xff1f; 4. 文件的打开和关闭 5. 文件顺序读写…