Zabbix分布式监控系统

  1. 规划节点

Zabbix分布式监控系统的节点规划,见表。

|----------------|---------------|----------|
| IP | 主机名 | 节点 |
| 192.168.100.10 | zabbix-server | Server节点 |
| 192.168.100.20 | zabbix-agent | Agent节点 |

  1. 基础准备

登录OpenStack平台,使用提供的CentOS_7.2_x86_64_XD.qcow2镜像,flavor使用 4vCPU/8GB内存/100GB硬盘创建云主机。Yum源使用提供的zabbix文件夹。

(1)主机名配置

一台server节点和一台agent节点,使用secureCRT进行连接。

Server节点修改主机名为zabbix-server。

bash 复制代码
[root@localhost ~]# hostnamectl set-hostname zabbix-server

修改完之后重新连接moba,并查看主机名:

Agent节点修改主机名为zabbix-agent:

(2)Yum源配置

将zabbix压缩包夹上传至zabbix-server节点的 /root目录下。

在zabbix-server节点创建挂载目录:

bash 复制代码
[root@zabbix-server ~]# mkdir /opt/centos
[root@zabbix-server ~]# mount /dev/sr0 /opt/centos/
mount: /dev/sr0 is write-protected, mounting read-only
[root@zabbix-server ~]# df -h
Filesystem               Size  Used Avail Use% Mounted on
/dev/mapper/centos-root   18G  874M   17G   5% /
devtmpfs                 1.9G     0  1.9G   0% /dev
tmpfs                    1.9G     0  1.9G   0% /dev/shm
tmpfs                    1.9G  8.6M  1.9G   1% /run
tmpfs                    1.9G     0  1.9G   0% /sys/fs/cgroup
/dev/sda1                497M  125M  373M  25% /boot
tmpfs                    378M     0  378M   0% /run/user/0
/dev/sr0                 4.1G  4.1G     0 100% /opt/centos
[root@zabbix-server ~]# mv /etc/yum.repos.d/* /media/
[root@zabbix-server ~]# tar -zxvf zabbix.tar.gz -C /opt/
bash 复制代码
[root@zabbix-server ~]# cat /etc/yum.repos.d/local.repo
[centos]
name=centos
baseurl=file:///opt/centos
gpgcheck=0
enabled=1
[zabbix]
name=zabbix
baseurl=file:///opt/zabbix
gpgcheck=0
enabled=1

至此,zabbix-server节点的Yum源配置完毕。

接下来配置zabbix-agent节点的YUM源。首先在zabbix-server节点上安装vsftpd服务。

bash 复制代码
[root@zabbix-server ~]# yum install vsftpd -y

修改vsftpd服务的配置文件vsftpd.conf,在配置文件的最上面,添加一行代码,命令如下:

bash 复制代码
[root@zabbix-server ~]# cat /etc/vsftpd/vsftpd.conf
anon_root=/opt

保存修改并退出,启动vsftpd服务,命令如下:

bash 复制代码
[root@zabbix-server ~]# systemctl restart vsftpd
[root@zabbix-server ~]# systemctl stop firewalld
[root@zabbix-server ~]# setenforce 0

到zabbix-agent节点上,首先将/etc/yum.repo.d目录下的所有文件移动到/media 目录下,然后创建local.repo文件,文件内容如下所示:

bash 复制代码
[root@zabbix-agent ~]# mv /etc/yum.repos.d/* /media/
[root@zabbix-agent ~]# vi /etc/yum.repos.d/local.repo
[root@zabbix-agent ~]# cat /etc/yum.repos.d/local.repo
[centos]
name=centos
baseurl=ftp://192.168.100.20/centos
gpgcheck=0
enabled=1
[zabbix]
name=zabbix
baseurl=ftp://192.168.100.20/zabbix
gpgcheck=0
enabled=1
[root@zabbix-agent ~]# systemctl stop firewalld
[root@zabbix-agent ~]# setenforce 0
[root@zabbix-agent ~]# yum clean all && yum repolist
Loaded plugins: fastestmirror
Cleaning repos: centos zabbix
Cleaning up everything
Loaded plugins: fastestmirror
centos                                                                                                                                                 | 3.6 kB  00:00:00
zabbix                                                                                                                                                 | 2.9 kB  00:00:00
(1/3): centos/group_gz                                                                                                                                 | 155 kB  00:00:00
(2/3): zabbix/primary_db                                                                                                                               |  31 kB  00:00:00
(3/3): centos/primary_db                                                                                                                               | 2.8 MB  00:00:00
Determining fastest mirrors
repo id                                                                             repo name                                                                           status
centos                                                                              centos                                                                              3,723
zabbix                                                                              zabbix                                                                                 37
repolist: 3,760

至此,2个节点的Yum源全部配置完毕。

(3)安装LAMP+Zabbix服务

(在zabbix-server节点执行) 安装httpd服务,命令如下:

bash 复制代码
[root@zabbix-server ~]# yum install httpd -y

安装数据库服务,命令如下:

bash 复制代码
[root@zabbix-server ~]# yum install -y mariadb mariadb-server

安装Zabbix服务,命令如下:

bash 复制代码
[root@zabbix-server ~]# yum install -y zabbix-server-mysql zabbix-web-mysql zabbix-agent mariadb-server

升级trousers服务,命令如下:

bash 复制代码
[root@zabbix-server ~]# yum install trousers -y

至此,Zabbix服务所需要的软件包已安装完毕。

2. 配置并启动Zabbix服务

(1)启动httpd服务

使用命令启动httpd服务,并 设置开机自启,最后查看运行状态。

(2)启动并配置数据库服务

启动数据库服务,并设置开机自启,命令如下:

bash 复制代码
[root@zabbix-server ~]# systemctl start mariadb
[root@zabbix-server ~]# systemctl enable mariadb
Created symlink from /etc/systemd/system/multi-user.target.wants/mariadb.service to /usr/lib/systemd/system/mariadb.service.

登录数据库,创建zabbix库(中文编码格式),命令如下:

bash 复制代码
[root@zabbix-server ~]# mysql
Welcome to the MariaDB monitor.  Commands end with ; or \g.
Your MariaDB connection id is 2
Server version: 5.5.44-MariaDB MariaDB Server

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

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

MariaDB [(none)]> create database zabbix character set utf8 collate utf8_bin;
Query OK, 1 row affected (0.00 sec)

授予zabbix用户的访问权限,命令如下:授予zabbix用户的访问权限,命令如下:

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

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

MariaDB [(none)]> exit;
Bye

退出数据库,进入到/usr/share/doc/zabbix-server-mysql-3.4.15/目录,导入数据库文件,命 令如下。

bash 复制代码
[root@zabbix-server ~]# cd /usr/share/doc/zabbix-server-mysql-3.4.15/
[root@zabbix-server zabbix-server-mysql-3.4.15]# ll
total 2120
-rw-r--r--. 1 root root      98 Nov 12  2018 AUTHORS
-rw-r--r--. 1 root root  866545 Nov 12  2018 ChangeLog
-rw-r--r--. 1 root root   17990 Nov 12  2018 COPYING
-rw-r--r--. 1 root root 1267039 Nov 12  2018 create.sql.gz
-rw-r--r--. 1 root root      52 Nov 12  2018 NEWS
-rw-r--r--. 1 root root    1062 Nov 12  2018 README
[root@zabbix-server zabbix-server-mysql-3.4.15]# zcat create.sql.gz | mysql -uroot zabbix

至此,数据库配置完毕。

(3)设置时区

编辑/etc/php.ini文件,设置时区,在[Date]字段下,设置date.timezone=PRC,命令如下:

bash 复制代码
[Date]
; Defines the default timezone used by the date functions
; http://php.net/date.timezone
date.timezone = PRC

编辑/etc/httpd/conf.d/zabbix.conf文件,修改时区,修改php_value date.timezone 为 Asia/Shanghai,命令如下:

修改完配置文件后重启httpd服务,命令如下:

bash 复制代码
[root@zabbix-server zabbix-server-mysql-3.4.15]# systemctl restart httpd

(4)修改Zabbix配置文件并启动

修改/etc/zabbix/zabbix_server.conf配置文件,修改完的配置文件如下所示:

bash 复制代码
[root@zabbix-server zabbix-server-mysql-3.4.15]# vi /etc/zabbix/zabbix_server.conf
[root@zabbix-server zabbix-server-mysql-3.4.15]# grep -n '^'[a-Z] /etc/zabbix/zabbix_server.conf
38:LogFile=/var/log/zabbix/zabbix_server.log
49:LogFileSize=0
72:PidFile=/var/run/zabbix/zabbix_server.pid
82:SocketDir=/var/run/zabbix
91:DBHost=localhost
100:DBName=zabbix
116:DBUser=zabbix
124:DBPassword=zabbix
132:DBSocket=/var/lib/mysql/mysql.sock
329:SNMPTrapperFile=/var/log/snmptrap/snmptrap.log
446:Timeout=4
488:AlertScriptsPath=/usr/lib/zabbix/alertscripts
498:ExternalScripts=/usr/lib/zabbix/externalscripts
534:LogSlowQueries=3000

启动Zabbix服务,命令如下:

bash 复制代码
[root@zabbix-server zabbix-server-mysql-3.4.15]# systemctl start zabbix-server

查看端口号,验证zabbix-server的服务端口10051是否存在,命令如下:

至此,Zabbix监控服务的server端配置完毕,接下来需要在Web界面操作。

3. 使用Zabbix服务

(1)登录界面

在浏览器访问192.168.100.20/zabbix,进入Zabbix安装向导,单击右下角"Next step"按钮,进 入下一步操作。

显示PHP版本信息等内容,然后单击右下角"Next step"按钮,进入下一步操作。

填写连接数据库的必要信息,Password为zabbix,填写内容,填写完毕后单击右下角 "Next step"按钮,进行下一步操作。

填写Zabbix服务端的详细信息,Name字段可以随意填写,是给监控平台起个名字。然后 单击右下角"Next step"按钮,进行下一步操作。

平台配置概况,确认后单击右下角"Next step"按钮。

安装Zabbix,安装成功后,单击右下角"Finish"按钮,结束安装。

单击"Finish"按钮后,进入登录界面,使用默认的用户名和密码Admin/zabbix登录。

进入Zabbix主页。

(2)中文界面

单击右上角的头像按钮,进入设置界面。

将"Language"一栏修改为"Chinexe(zh CN)",然后单击下方"Update"按钮。

中文界面的Zabbix监控界面已配置完成。

(3)添加被监控机器

回到zabbix-agent节点,安装zabbix-agent服务,命令如下:

bash 复制代码
[root@zabbix-agent ~]# yum install -y zabbix-agent

修改/etc/zabbix/zabbix_agentd.conf配置文件,配置zabbix-agent,修改如下:

bash 复制代码
[root@zabbix-agent ~]# vi /etc/zabbix/zabbix_agentd.conf
[root@zabbix-agent ~]# grep -n '^'[a-Z] /etc/zabbix/zabbix_agentd.conf
13:PidFile=/var/run/zabbix/zabbix_agentd.pid
32:LogFile=/var/log/zabbix/zabbix_agentd.log
43:LogFileSize=0
97:Server=192.168.100.20
138:ServerActive=192.168.100.20
149:Hostname=Zabbix-agent
267:Include=/etc/zabbix/zabbix_agentd.d/*.conf

启动zabbix-agent服务,并查看10050端口是否存在,命令如下:

bash 复制代码
[root@zabbix-agent ~]# systemctl start zabbix-agent
[root@zabbix-agent ~]# yum install net-tools -y
[root@zabbix-agent ~]# netstat -ntpl
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name
tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN      1492/sshd
tcp        0      0 127.0.0.1:25            0.0.0.0:*               LISTEN      1962/master
tcp        0      0 0.0.0.0:10050           0.0.0.0:*               LISTEN      10009/zabbix_agentd
tcp6       0      0 :::22                   :::*                    LISTEN      1492/sshd
tcp6       0      0 ::1:25                  :::*                    LISTEN      1962/master
tcp6       0      0 :::10050                :::*                    LISTEN      10009/zabbix_agentd

回到Web界面,选择菜单栏"配置"→"主机"→"创建主机"命令,会跳转到配置主机的页面。

填写信息,将zabbix-agent节点添加到被监控机器,填写信息如图4-6-13所示。然后单击下方 "添加"按钮。

添加完毕后如图所示。

添加监控项,单击"zabbix-agent"名称,然后单击"模板"标签,进行添加模板操作界面。

单击"选择"按钮,进行监控模板添加,在跳转界面勾选用户想要监控的复选框,然后单击下方 "选择"按钮。

选择完模板后,如图所示。

单击"添加"按钮,显示链接的模板,然后单击"更新"按钮,如下图所示。

单击"更新"按钮后,zabbix-agent节点被添加到监控中。

(4)监控机器

在最上面的选择菜单栏中"监测中"→"图形"命令,群组选择Linux server,主机选择zabbix- agent,图形选择需要显示的监控项,此处选择为CPU jumps。

需要被监控的主机,首先安装zabbix-agent服务,然后修改配置文件并启动服务。登录Zabbix的 Web界面,添加主机,并添加监控模板。成功添加后,就可以通过Zabbix界面进行主机的监控。

相关推荐
gywl1 小时前
openEuler VM虚拟机操作(期末考试)
linux·服务器·网络·windows·http·centos
日记跟新中3 小时前
Ubuntu20.04 修改root密码
linux·运维·服务器
码农君莫笑3 小时前
信管通低代码信息管理系统应用平台
linux·数据库·windows·低代码·c#·.net·visual studio
BUG 4043 小时前
Linux——Shell
linux·运维·服务器
大霞上仙3 小时前
Linux 多命令执行
linux·运维·服务器
晨欣3 小时前
Kibana:LINUX_X86_64 和 DEB_X86_64两种可选下载方式的区别
linux·运维·服务器
AI青年志4 小时前
【服务器】linux服务器管理员查看用户使用内存情况
linux·运维·服务器
zquwei4 小时前
SpringCloudGateway+Nacos注册与转发Netty+WebSocket
java·网络·分布式·后端·websocket·网络协议·spring
dessler4 小时前
Docker-run命令详细讲解
linux·运维·后端·docker
PyAIGCMaster5 小时前
ubuntu装P104驱动
linux·运维·ubuntu