Day01-zabbix监控详解

一、什么是监控,为什么需要监控

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 生命周期

在这里插入图片描述

在这里插入图片描述

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

  • 26
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Zabbix是一款开源的网络监控和报警系统,可以用于监控服务器、网络设备、虚拟机等。下面是Linux系统上安装Zabbix的操作步骤: 1. 安装所需软件: - 在Debian/Ubuntu系统上,使用以下命令安装所需软件: ``` sudo apt-get update sudo apt-get install apache2 mysql-server mysql-client php php-mysql php-gd php-xml php-bcmath php-mbstring php-ldap php-xmlrpc ``` - 在CentOS/RHEL系统上,使用以下命令安装所需软件: ``` sudo yum install httpd mariadb-server mariadb php php-mysql php-gd php-xml php-bcmath php-mbstring php-ldap php-xmlrpc ``` 2. 配置数据库: - 启动并设置MariaDB/MySQL服务: ``` sudo systemctl start mariadb sudo systemctl enable mariadb ``` - 运行以下命令来设置MariaDB/MySQL的root密码和其他配置: ``` sudo mysql_secure_installation ``` - 创建一个新的数据库和用户: ``` sudo mysql -u root -p CREATE DATABASE zabbixdb character set utf8 collate utf8_bin; GRANT ALL PRIVILEGES ON zabbixdb.* TO 'zabbixuser'@'localhost' IDENTIFIED BY 'password'; FLUSH PRIVILEGES; EXIT; ``` 3. 下载和安装Zabbix Server: - 下载最新的Zabbix Server软件包: ``` wget https://repo.zabbix.com/zabbix/5.4/ubuntu/pool/main/z/zabbix-release/zabbix-release_5.4-1+ubuntu20.04_all.deb ``` - 安装Zabbix Server软件包: ``` sudo dpkg -i zabbix-release_5.4-1+ubuntu20.04_all.deb sudo apt-get update sudo apt-get install zabbix-server-mysql zabbix-frontend-php zabbix-apache-conf zabbix-agent ``` 4. 导入Zabbix数据库模板: - 运行以下命令导入Zabbix数据库模板: ``` sudo zcat /usr/share/doc/zabbix-server-mysql*/create.sql.gz | sudo mysql -u zabbixuser -p zabbixdb ``` 5. 配置Zabbix Server: - 编辑Zabbix Server配置文件: ``` sudo nano /etc/zabbix/zabbix_server.conf ``` - 修改以下参数: ``` DBHost=localhost DBName=zabbixdb DBUser=zabbixuser DBPassword=password ``` - 保存并关闭文件。 6. 配置Zabbix Frontend: - 编辑Zabbix Frontend配置文件: ``` sudo nano /etc/zabbix/apache.conf ``` - 修改以下参数: ``` php_value date.timezone Asia/Shanghai ``` - 保存并关闭文件。 7. 启动Zabbix服务: - 启动Zabbix Server和Zabbix Agent服务: ``` sudo systemctl start zabbix-server sudo systemctl enable zabbix-server sudo systemctl start zabbix-agent sudo systemctl enable zabbix-agent ``` 8. 访问Zabbix Web界面: - 打开Web浏览器,访问以下URL: ``` http://服务器IP地址/zabbix ``` - 根据安装向导完成Zabbix的初始化配置。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值