Zibbix分布式系统监控——理论+实验超详细!!!

文章目录

  • 一、zabbix简介
    • 1.什么是zibbix?
    • 2.zibbix的作用
    • 3.zibbix的组成
    • 4.zibbix的应用场景
    • 5.zibbix的特点
    • 6.zabbix主要功能
    • 7.zabbix重要组件
    • 8.监控系统运行流程
  • 二、部署zabbix监控
    • 2.1 环境
    • 2.2 监控端配置
      • 2.2.1 部署LAMP架构
      • 2.2.2 部署zabbix服务器
    • 2.3 被监控端配置
    • 2.4 服务端创建被监控主机
    • 2.5 创建监控主机的内容
    • 2.6 邮箱报警
    • 2.7 网页报警设置
    • 2.8 创建动作触发报警
    • 2.9 恢复操作
    • 2.10 监控邮箱设置测试
    • 2.11 恢复网卡查看

一、zabbix简介

1.什么是zibbix?

zabbix又称分布式系统箭筒,是一个基于WEB界面的提供分布式系统监视以及网络监视功能的企业级的开源解决方案。

2.zibbix的作用

zabbix能监视各种网络参数,保证服务器系统的安全运营;并提供灵活的通知机制以让系统管理员快速定位/解决存在的各种问题。

3.zibbix的组成

zabbix由2部分构成,zabbix server与可选组件zabbix agent。

4.zibbix的应用场景

zabbix server可以通过SNMP,zabbix agent,ping,端口监视等方法提供对远程服务器/网络状态的监视,数据收集等功能,它可以运行在Linux,Solaris,HP-UX,AIX,Free BSD,Open BSD,OS X等平台上。

5.zibbix的特点

  • 安装与配置简单,学习成本低
  • 支持多语言(包括中文)
  • 免费开源
  • 自动发现服务器与网络设备
  • 分布式监视以及WEB集中管理功能
  • 可以无agent监视
  • 用户安全认证和柔软的授权方式
  • 通过WEB界面设置或查看监视结果
  • email等通知功能
  • 加粗样式等等

6.zabbix主要功能

  • CPU负荷
  • 内存使用
  • 磁盘使用
  • 网络状况
  • 端口监视
  • 日志监视

7.zabbix重要组件

1.zabbix server

  • 负责接收agent发送的报告信息的核心组件,所有配置、统计数据及操作数据都由它组织进行

2.database storage
专用于存储所有配置信息,以及由zabbix收集的数据

3.web interface

  • zabbix的GUI接口

4.proxy

  • 可选组件,常用于监控节点很多的分布式环境中,代理server收集部分数据转发到server,可以减轻server的压力

5.agent

  • 部署在被监控的主机上,负责收集主机本地数据如cpu、内存、数据库等数据发往server端或proxy端

8.监控系统运行流程

  • agentd需要安装到被监控的主机上,它负责定期收集各项数据,并发送到zabbix server端
  • zabbix server将数据存储到数据库中,zabbix web根据数据在前端进行展现和绘图

这里agentd收集数据分为主动和被动两种模式

  • 主动:agent请求server获取主动的监控项列表,并主动将监控项内需要检测的数据提交给server/proxy
  • 被动:server向agent请求获取监控项的数据,agent返回数据

二、部署zabbix监控

2.1 环境

zabbix-server:192.168.1.10  #监控端
zabbix-client:192.168.1.11    #被监控端
2台服务器先关闭防火墙、核心防护
[root@zabbix-server ~]# systemctl stop firewalld
[root@zabbix-server ~]# setenforce 0

2.2 监控端配置

2.2.1 部署LAMP架构

先确定能否上网

[root@zabbix-client ~]# ping www.baidu.com

Zibbix分布式系统监控——理论+实验超详细!!!_第1张图片
安装repo镜像包

[root@zabbix-server yum.repos.d]# wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo

[root@zabbix-server yum.repos.d]# yum clean all
[root@zabbix-server yum.repos.d]# yum makecache 

在yum目录下,加入repo镜像包
Zibbix分布式系统监控——理论+实验超详细!!!_第2张图片
安装依赖包

[root@zabbix-server ~]# yum install -y httpd mariadb-server mariadb php php-mysql php-gd libjpeg* php-ldap php-odbc php-pear php-xml php-xmlrpc php-mhash

修改apache和php的配置文件

[root@zabbix-server ~]# vi /etc/httpd/conf/httpd.conf
95  ServerName www.example.com:80        #  开启域名,域名可更改或不更改
164  DirectoryIndex index.php index.html  #  添加 index.php 
[root@zabbix-server ~]# vi /etc/php.ini 
878  date.timezone = PRC     
[root@zabbix-server ~]# systemctl start httpd
[root@zabbix-server ~]# systemctl start mariadb

[root@zabbix-server ~]# netstat -anpt | grep 80
tcp6       0      0 :::80                   :::*                    LISTEN      75551/httpd    

[root@zabbix-server ~]# netstat -anpt | grep 3306
tcp        0      0 0.0.0.0:3306            0.0.0.0:*               LISTEN     76482/mysqld   

初始化数据库

[root@zabbix-server ~]# mysql_secure_installation

Enter current password for root (enter for none):  #让你输入root的当前密码(为none输入) 直接回车就行了

Set root password? [Y/n] y
New password:                      # 设置密码为:123456(自己设)
Re-enter new password:             # 123456
Password updated successfully!
Reloading privilege tables..
 ... Success!

Remove anonymous users? [Y/n] y     # 移除匿名账号
 ... Success!

Disallow root login remotely? [Y/n] n    # 不允许 root 账号远程登录
 ... skipping.

Remove test database and access to it? [Y/n] y     # 移除 test 数据库,空数据库
 - Dropping test database...
 ... Success!
 - Removing privileges on test database...
 ... Success!

Reload privilege tables now? [Y/n] y       # 重置权限列表
 ... Success!

测试是否可以登录数据库

[root@zabbix-server ~]# mysql -uroot -p123456
Welcome to the MariaDB monitor.  Commands end with ; or \g.
Your MariaDB connection id is 23
Server version: 5.5.68-MariaDB MariaDB Server

Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

MariaDB [(none)]> exit
Bye

测试php网页是否开启

[root@zabbix-server ~]# vi /var/www/html/index.php
<?php
phpinfo();
?>

物理机测试php网页
Zibbix分布式系统监控——理论+实验超详细!!!_第3张图片
创建数据库监控信息表并授权

[root@zabbix-server ~]# mysql -uroot -p123456

# 数据库监控信息的表叫 zabbix ,字符集为 utf8 , 每一个字符区分大小写
MariaDB [(none)]> create database zabbix character set utf8 collate utf8_bin;
Query OK, 1 row affected (0.00 sec)


MariaDB [(none)]> grant all privileges on zabbix.* to 'zabbix'@'%' identified by 'admin123';
Query OK, 0 rows affected (0.00 sec)

MariaDB [(none)]> grant all privileges on zabbix.* to 'zabbix'@'localhost' identified by 'admin123';
Query OK, 0 rows affected (0.00 sec)

MariaDB [(none)]> flush privileges;
Query OK, 0 rows affected (0.00 sec)

验证php与mysql的联动性(测试zabbix用户是否能够登陆数据库)

[root@zabbix-server ~]# vi /var/www/html/index.php 
<?php
$link=mysql_connect('192.168.1.10','zabbix','admin123');
if($link) echo "

Sueecee!!!

"
; else echo "Fail!!!"; mysql_close(); ?>

Zibbix分布式系统监控——理论+实验超详细!!!_第4张图片

2.2.2 部署zabbix服务器

添加zabbix源

  • 阿里源——系统源
[root@zabbix-server ~]# vi /etc/yum.repos.d/CentOS-Base.repo
[Ali]
name=CentOS-$releasever - Base
baseurl=http://mirrors.aliyun.com/centos/$releasever/os/$basearch/
gpgcheck=1
gpgkey=http://mirrors.aliyun.com/centos/RPM-GPG-KEY-CentOS-7
  • 阿里源——zabbix源
[root@zabbix-server ~]# vi /etc/yum.repos.d/zabbix.repo
[zabbix]
name=Zabbix Official Repository - \$basearch
baseurl=https://mirrors.aliyun.com/zabbix/zabbix/4.0/rhel/7/\$basearch/
enabled=1
gpgcheck=0

[zabbix-non-supported]
name=Zabbix Official Repository non-supported - \$basearch
baseurl=https://mirrors.aliyun.com/zabbix/non-supported/rhel/7/\$basearch/
enabled=1
gpgcheck=0

建立缓存

[root@zabbix-server ~]# yum makecache

安装 zabbix 依赖包

[root@zabbix-server ~]# yum install -y php-mbstring php-bcmath

下载zabbix源,安装zabbix服务端软件

[root@zabbix-server ~]# rpm -Uvh https://repo.zabbix.com/zabbix/4.0/rhel/7/x86_64/zabbix-release-4.0-2.el7.noarch.rpm

安装zabbix server(服务),Web前端,agent(监控),nogpgcheck(密钥)

[root@zabbix-server ~]# yum -y install zabbix-server-mysql zabbix-web-mysql zabbix-agent --nogpgcheck                                                               

导入 zabbix 监控数据库

[root@zabbix-server ~]# zcat /usr/share/doc/zabbix-server-mysql-4.0.27/create.sql.gz | mysql -uzabbix -padmin123 zabbix  

修改 zabbix 配置文件

[root@zabbix-server ~]# vi /etc/zabbix/zabbix_server.conf
DBPassword=admin123               # 124
[root@zabbix-server ~]# vi /etc/httpd/conf.d/zabbix.conf 
php_value date.timezone Asia/Shanghai           # 20
[root@zabbix-server ~]# vi /usr/share/zabbix/include/defines.inc.php 
:%s /graphfont/kaiti/g       #直接输入,替换成楷体

Zibbix分布式系统监控——理论+实验超详细!!!_第5张图片
从微软系统C:\Windows\Fonts下复制相应的字体文件到 /usr/share/zabbix/assets/fonts
Zibbix分布式系统监控——理论+实验超详细!!!_第6张图片
因为上面定义的字体就是楷体,小写的,所以在目录中注意字体名称要对应配置文件改为kaiti.ttf,且注意大小写
Zibbix分布式系统监控——理论+实验超详细!!!_第7张图片

[root@zabbix-server ~]# cd /usr/share/zabbix/assets/fonts/
[root@zabbix-server fonts]# ll
总用量 11512
lrwxrwxrwx 1 root root       33 118 11:22 graphfont.ttf -> /etc/alternatives/zabbix-web-font
-rw-r--r-- 1 root root 11787328 118 12:11 kaiti.ttf
[root@zabbix-server fonts]# mv SIMKAI.TTF kaiti.ttf      #修改名字
[root@zabbix-server fonts]# ll

开启zabbix服务及监听端口

[root@zabbix-server ~]# systemctl start zabbix-server.service 
[root@zabbix-server ~]# systemctl enable zabbix-server.service 
Created symlink from /etc/systemd/system/multi-user.target.wants/zabbix-server.service to /usr/lib/systemd/system/zabbix-server.service.
[root@zabbix-server ~]# netstat -anpt | grep zabbix
tcp        0      0 0.0.0.0:10051           0.0.0.0:*               LISTEN      25598/zabbix_server 
tcp6       0      0 :::10051                :::*                    LISTEN      25598/zabbix_server 

重启apache服务

[root@zabbix-server ~]# systemctl restart httpd

访问zabbix安装及登录
登录
http://192.168.1.10/zabbix/setup.php
Zibbix分布式系统监控——理论+实验超详细!!!_第8张图片
Zibbix分布式系统监控——理论+实验超详细!!!_第9张图片
Zibbix分布式系统监控——理论+实验超详细!!!_第10张图片
Zibbix分布式系统监控——理论+实验超详细!!!_第11张图片
Zibbix分布式系统监控——理论+实验超详细!!!_第12张图片
Zibbix分布式系统监控——理论+实验超详细!!!_第13张图片
进入数据库查看监控账户

[root@zabbix-server ~]# mysql -uroot -p123456  进入数据库

MariaDB [(none)]> show databases;   查看所有库
+--------------------+
| Database           |
+--------------------+
| information_schema |
| mysql              |
| performance_schema |
| zabbix             |
+--------------------+
4 rows in set (0.01 sec)

MariaDB [(none)]> use zabbix;   进入zabbix表

MariaDB [zabbix]> select * from users;   #查看users表可以看到只有2个用户
+--------+-------+--------+---------------+----------------------------------+-----+-----------+------------+-------+---------+------+---------+----------------+------------+---------------+---------------+
| userid | alias | name   | surname       | passwd                           | url | autologin | autologout | lang  | refresh | type | theme   | attempt_failed | attempt_ip | attempt_clock | rows_per_page |
+--------+-------+--------+---------------+----------------------------------+-----+-----------+------------+-------+---------+------+---------+----------------+------------+---------------+---------------+
|      1 | Admin | Zabbix | Administrator | 5fce1b3e34b520afeffb37ce08c7cd66 |     |         1 | 0          | en_GB | 30s     |    3 | default |              0 |            |             0 |            50 |
|      2 | guest |        |               | d41d8cd98f00b204e9800998ecf8427e |     |         0 | 15m        | en_GB | 30s     |    1 | default |              0 |            |             0 |            50 |
+--------+-------+--------+---------------+----------------------------------+-----+-----------+------------+-------+---------+------+---------+----------------+------------+---------------+---------------+
2 rows in set (0.00 sec)

Zibbix分布式系统监控——理论+实验超详细!!!_第14张图片
登录成功!
Zibbix分布式系统监控——理论+实验超详细!!!_第15张图片

2.3 被监控端配置

配置yum源

[root@zabbix-client ~]# vi /etc/yum.repos.d/zabbix.repo
[zabbix]
name=Zabbix Official Repository - $basearch
baseurl=http://repo.zabbix.com/zabbix/4.0/rhel/7/$basearch/
enabled=1
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-ZABBIX-A14FE591

[zabbix-non-supported]
name=Zabbix Official Repository non-supported - $basearch
baseurl=http://repo.zabbix.com/non-supported/rhel/7/$basearch/
enabled=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-ZABBIX
gpgcheck=1

安装zabbix软件

[root@zabbix-client ~]# yum -y install zabbix-agent --nogpgcheck

修改zabbix-agent客户端配置

[root@zabbix-client ~]# vi /etc/zabbix/zabbix_agentd.conf
98  Server=192.168.1.10                   #服务端 ip
139  ServerActive=192.168.1.10            #服务端 ip
123  StartAgents=3                      #开启被动模式
150  Hostname=client1                   #客户端在服务端的名字

开启客户端zabbix-agent服务

[root@zabbix-client ~]# systemctl start zabbix-agent
[root@zabbix-client ~]# systemctl enable zabbix-agent
[root@zabbix-client ~]# netstat -anpt | grep zabbix
tcp        0      0 0.0.0.0:10050           0.0.0.0:*               LISTEN      35590/zabbix_agentd 
tcp6       0      0 :::10050                :::*                    LISTEN      35590/zabbix_agentd 

在服务器上修改代理文件、并开启服务

[root@zabbix-server ~]# vi /etc/zabbix/zabbix_agentd.conf
Server=192.168.1.10                    # 98
ServerActive=192.168.1.10               # 139
Hostname=server                      # 150

开启服务

[root@zabbix-server ~]# systemctl start zabbix-agent
[root@zabbix-server ~]# systemctl enable zabbix-agent

[root@zabbix-server ~]# netstat -anpt | grep zabbix
tcp        0      0 0.0.0.0:10050           0.0.0.0:*               LISTEN      91639/zabbix_agentd 
tcp        0      0 0.0.0.0:10051           0.0.0.0:*               LISTEN      25598/zabbix_server 
tcp6       0      0 :::10050                :::*                    LISTEN      91639/zabbix_agentd 
tcp6       0      0 :::10051                :::*                    LISTEN      25598/zabbix_server 

将服务端监控页面换成中文
Zibbix分布式系统监控——理论+实验超详细!!!_第16张图片
修改完后刷新页面
Zibbix分布式系统监控——理论+实验超详细!!!_第17张图片
Zibbix分布式系统监控——理论+实验超详细!!!_第18张图片

2.4 服务端创建被监控主机

开始在服务器zabbix界面创建监控的客户端
创建第一个
Zibbix分布式系统监控——理论+实验超详细!!!_第19张图片
Zibbix分布式系统监控——理论+实验超详细!!!_第20张图片
创建第二个
Zibbix分布式系统监控——理论+实验超详细!!!_第21张图片
创建的被监控主机
Zibbix分布式系统监控——理论+实验超详细!!!_第22张图片

2.5 创建监控主机的内容

第一台模板
Zibbix分布式系统监控——理论+实验超详细!!!_第23张图片
Zibbix分布式系统监控——理论+实验超详细!!!_第24张图片
Zibbix分布式系统监控——理论+实验超详细!!!_第25张图片
Zibbix分布式系统监控——理论+实验超详细!!!_第26张图片
Zibbix分布式系统监控——理论+实验超详细!!!_第27张图片
第二台模板
同第一台模板操作相同
添加完后
Zibbix分布式系统监控——理论+实验超详细!!!_第28张图片

2.6 邮箱报警

在服务器上配置

[root@zabbix-server ~]# yum -y install mailx
[root@zabbix-server ~]# vi /etc/mail.rc     # 配置最后面添加 
set from=2537784661@qq.com
set smtp=smtp.qq.com
set smtp-auth-user=2537784661@qq.com
set smtp-auth-password=xcgegyujqyxgecia        # QQ 邮箱授权码
set smtp-auth=login

编写发邮件脚本

[root@zabbix-server ~]# cd /usr/lib/zabbix/alertscripts/  # 必须在此目录下创建脚本
[root@zabbix-server alertscripts]# vi mailx.sh
#!/bin/bash
#send mail
message=`echo $3 | tr '\r\n' '\n'`
subject=`echo $2 | tr '\r\n' '\n'`
echo "${message}" | mail -s "${subject}" $1 >>/tmp/mailx.log 2>&1

tr:删除,字符转换
\r\n:换行
2>&1:混合输出

[root@zabbix-server alertscripts]# touch /tmp/mailx.log
[root@zabbix-server alertscripts]# cd

授权

[root@zabbix-server ~]# chown -R zabbix.zabbix /tmp/mailx.log   #设置日志文件属主属组
[root@zabbix-server ~]# chmod +x /usr/lib/zabbix/alertscripts/mailx.sh  #授权脚本
[root@zabbix-server ~]# chown -R zabbix.zabbix /usr/lib/zabbix/   #设置脚本属主属组

脚本测试

[root@zabbix-server ~]# cd /usr/lib/zabbix/alertscripts/
[root@zabbix-server alertscripts]# ./mailx.sh 2537784661@qq.com "server mail" "success"
# server mail 为 主题、success 为内容

Zibbix分布式系统监控——理论+实验超详细!!!_第29张图片

2.7 网页报警设置

创建报警类型
Zibbix分布式系统监控——理论+实验超详细!!!_第30张图片
在这里插入图片描述
Zibbix分布式系统监控——理论+实验超详细!!!_第31张图片
用户添加报警媒介
Zibbix分布式系统监控——理论+实验超详细!!!_第32张图片
Zibbix分布式系统监控——理论+实验超详细!!!_第33张图片
Zibbix分布式系统监控——理论+实验超详细!!!_第34张图片

2.8 创建动作触发报警

创建动作
Zibbix分布式系统监控——理论+实验超详细!!!_第35张图片
Zibbix分布式系统监控——理论+实验超详细!!!_第36张图片
Zibbix分布式系统监控——理论+实验超详细!!!_第37张图片
创建设置操作
Zibbix分布式系统监控——理论+实验超详细!!!_第38张图片
Zibbix分布式系统监控——理论+实验超详细!!!_第39张图片

2.9 恢复操作

Zibbix分布式系统监控——理论+实验超详细!!!_第40张图片
Zibbix分布式系统监控——理论+实验超详细!!!_第41张图片
最后在动作页面点击添加完成操作设置
Zibbix分布式系统监控——理论+实验超详细!!!_第42张图片

2.10 监控邮箱设置测试

1.问题
客户机网卡故障

2.测试
客户端的网卡故障停止服务
先查看Admin用户的报警媒介是否存在,消失重新添加
Zibbix分布式系统监控——理论+实验超详细!!!_第43张图片
在server上
重启zabbix服务

[root@zabbix-server ~]# systemctl restart zabbix-server
[root@zabbix-server ~]# netstat -anpt | grep zabbix
tcp        0      0 0.0.0.0:10050           0.0.0.0:*               LISTEN      90778/zabbix_agentd 
tcp        0      0 0.0.0.0:10051           0.0.0.0:*               LISTEN      57098/zabbix_server 
tcp6       0      0 :::10050                :::*                    LISTEN      90778/zabbix_agentd 
tcp6       0      0 :::10051                :::*                    LISTEN      57098/zabbix_server 

在客户端,网卡关闭,可以监控到ICMP项目有问题,触发报警

[root@zabbix-client ~]# ifconfig ens33 down

在监测–问题页面进行查看
Zibbix分布式系统监控——理论+实验超详细!!!_第44张图片
Zibbix分布式系统监控——理论+实验超详细!!!_第45张图片
Zibbix分布式系统监控——理论+实验超详细!!!_第46张图片

2.11 恢复网卡查看

[root@client1 ~]# ifconfig ens33 up

Zibbix分布式系统监控——理论+实验超详细!!!_第47张图片

Zibbix分布式系统监控——理论+实验超详细!!!_第48张图片
Zibbix分布式系统监控——理论+实验超详细!!!_第49张图片

你可能感兴趣的:(linux,监控类,监控程序)