搭建Zabbix6.0版本

Zabbix简介

Zabbix是一个企业级的开源分布式监控解决方案,由C语言编写而成的底层架构(server端和agent端),由一个国外的团队持续维护更新,软件可以自由下载使用,运作团队靠提供收费的技术支持赢利。

Zabbix运行条件:

Server:

Zabbix Server需运行在LAMP(Linux+Nginx+Mysql+PHP)环境下,对硬件要求低

Agent:

目前已有的agent基本支持市面常见的OS,包含Linux、HPUX、Solaris、Sun、windows等

SNMP:

支持各类常见的网络设备

zabbix是一个监控软件:

它是一个C/S架构,还是一个B/S架构,zabbix软件的前端是由PHP语言写的

zabbix数据采集:

主动模式 被监控端主动将采集的数据发送给监控端

被动模式 zabbix默认的模式 监控端定时向被监控端拿数据

zabbix监控对象:

  1. 系统的性能

内存使用率 cpu负载 网络以及磁盘I/O

Tcp的各种连接状态

  1. 应用程序

首先监控应用程序是否正常运行(端口|进程)

监控应用程序的性能

zabbix的优点:有报警、有图形化、可以监控服务器和网络设备,还可以实现自动发现

开始搭建zabbix

搭建zabbix6.0之前首先需要搭建LNMP或LAMP,并且最低需要MySQL8.0版本,PHP最低需要7.0版本暂不支持8.0版本的PHP。搭建LNMP可以看这两篇文章编译安装LNMPYUM安装LNMP

安装php

[root@localhost ~]# yum install -y https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm
[root@localhost ~]# yum install -y https://rpms.remirepo.net/enterprise/remi-release-7.rpm
[root@localhost ~]# yum install yum-utils
[root@localhost ~]# yum -y install php74-php-fpm.x86_64 php74-php-common.x86_64 php74-php-cli.x86_64 php74-php-gd.x86_64 php74-php-ldap.x86_64 php74-php-mbstring.x86_64 php74-php-mysqlnd.x86_64 php74-php-xml php74-php-bcmath.x86_64 php74-php
[root@localhost ~]# systemctl enable nginx --now
[root@localhost ~]# ss -tln | grep 9000
LISTEN     0      128    127.0.0.1:9000                     *:*      

其他的去看上面两个超链接

安装zabbix server服务端

创建zabbix用户zabbix组

[root@localhost ~]# groupadd zabbix
[root@localhost ~]# useradd -r -g zabbix zabbix

下载zabbix所需依赖包

[root@localhost ~]# yum -y install mysql-devel net-snmp-devel libevent-devel curl-devel libxml2 libxml2-devel

升级gcc为8.0版本以上不然make isntall 会报错
[root@localhost ~]# yum -y install centos-release-scl 
[root@localhost ~]# yum -y install devtoolset-9-gcc devtoolset-9-gcc-c++ devtoolset-9-binutils 
[root@localhost ~]# scl enable devtoolset-9 bash
永久设置
[root@localhost ~]# echo "source /opt/rh/devtoolset-9/enable" >>/etc/profile

安装zabbix

下载并上传zabbix包
[root@localhost ~]# wget https://cdn.zabbix.com/zabbix/sources/stable/6.0/zabbix-6.0.13.tar.gz

解压配置zabbix包
[root@localhost ~]# tar zxvf zabbix-6.0.13.tar.gz -C /usr/src/
[root@localhost ~]# cd /usr/src/zabbix-6.0.13/
[root@localhost zabbix-6.0.13]# ./configure --prefix=/usr/local/zabbix --enable-server --enable-agent --with-mysql --enable-ipv6 --with-net-snmp --with-libcurl --with-libxml2
[root@localhost zabbix-6.0.13]# make install

创建mysql数据库并授权,在8.0版本授权之前需要先创建用户

[root@localhost ~]# mysql -uroot -pABc123...
mysql> create database zabbix character set utf8 collate utf8_bin;
mysql> create user zabbix@'%' identified by 'Abc123...';
mysql> grant all on zabbix.* to zabbix@'%' with grant option;
mysql> flush privileges;

导入数据库架构及数据

[root@localhost ~]# mysql -uroot -pABc123... zabbix < /usr/src/zabbix-6.0.13/database/mysql/schema.sql
[root@localhost ~]# mysql -uroot -pABc123... zabbix < /usr/src/zabbix-6.0.13/database/mysql/images.sql
[root@localhost ~]# mysql -uroot -pABc123... zabbix < /usr/src/zabbix-6.0.13/database/mysql/data.sql

创建zabbix日志存储位置和pid存储位置并设置属主属组

[root@localhost ~]# mkdir /usr/local/zabbix/{logs,pid}
[root@localhost ~]# chown zabbix:zabbix /usr/local/zabbix/ -R 

修改配置zabbix server文件

[root@localhost ~]# vim /usr/local/zabbix/etc/zabbix_server.conf
:%g/^#/d
:%g/^$/d

LogFile=/usr/local/zabbix/logs/zabbix_server.log               ##日志存放路径
PidFile=/usr/local/zabbix/pid/zabbix_server.pid                ##运行的PID文件
DBHost=192.168.43.254                                          ##数据库主机ip
DBSocket=/var/lib/mysql/mysql.sock                             ##mysql.sock
DBName=zabbix                                                  ##数据库名字
DBUser=zabbix                                                  ##mysql授权的用户
DBPassword=Abc123...                                           ##mysql授权的密码
Include=/usr/local/zabbix/etc/zabbix_server.conf.d/*.conf      ##开启附加配置文件目录
LogSlowQueries=3000                                            ##用于服务端数据库慢查询功能,单位是毫秒
StatsAllowedIP=127.0.0.1,192.168.43.0/24                       ##来源IP访问控制限制

修改配置zabbix agent文件

[root@localhost ~]# vim /usr/local/zabbix/etc/zabbix_agentd.conf
:%g/^#/d
:%g/^$/d

LogFile=/usr/local/zabbix/logs/zabbix_agentd.log
PidFile=/usr/local/zabbix/pid/zabbix_agent.pid
Server=192.168.43.254
ServerActive=192.168.43.253                                ####输入agent主机采集到数据发送到的server端
Hostname=Zabbix server
Include=/usr/local/zabbix/etc/zabbix_server.conf.d/*.conf

配置zabbix_server启动脚本

[root@localhost ~]# vim /usr/lib/systemd/system/zabbix.service
[Unit]
Description=Zabbix Server with MySQL DB
After=syslog.target network.target mysqld.service
[Service]
Type=simple
ExecStart=/usr/local/zabbix/sbin/zabbix_server -f   ##zabbix安装目录
User=zabbix
[Install]
WantedBy=multi-user.target   

[root@localhost ~]# systemctl daemon-reload  

启动监控端 
[root@localhost ~]# systemctl enable zabbix --now       
启动agent端
[root@localhost ~]# /usr/local/zabbix/sbin/zabbix_agentd 
[root@localhost ~]# ss -tln | grep 1005
LISTEN     0      128          *:10050                    *:*                  
LISTEN     0      128          *:10051                    *:*                  
LISTEN     0      128       [::]:10050                 [::]:*                  
LISTEN     0      128       [::]:10051                 [::]:*                  

需要修改php参数(网页预配置必要条件)

[root@localhost ~]# vim /etc/opt/remi/php74/php.ini
修改date.timezone = Asia/Shanghai
修改post_max_size为16M
修改max_execution_time为300
修改max_input_time为300

移动前端文件至web服务的根目录并授权

root@localhost ~]# cp -r /usr/src/zabbix-6.0.13/ui/* /usr/share/nginx/html/zabbix
[root@localhost ~]# chown -R nginx:nginx /usr/share/nginx/html/zabbix/
[root@localhost ~]# chown -R nginx:nginx /etc/opt/remi/php74/php.ini 

测试

浏览器输入主机ip并加入zabbix前端文件路径

192.168.43.254/zabbix

选择语言Chinese(zh_CN)

搭建Zabbix6.0版本_第1张图片

查看条件是否全部OK全部OK的下一步

搭建Zabbix6.0版本_第2张图片
搭建Zabbix6.0版本_第3张图片

Zabbix主机名称随便起

搭建Zabbix6.0版本_第4张图片

确认信息后下一步

搭建Zabbix6.0版本_第5张图片

下载配置文件将它传到以下目录里然后刷新网页

搭建Zabbix6.0版本_第6张图片
搭建Zabbix6.0版本_第7张图片

默认账号Admin密码zabbix

搭建Zabbix6.0版本_第8张图片

安装成功

搭建Zabbix6.0版本_第9张图片

解决zabbix显示图像下边文字乱码情况:

[root@localhost ~]#  cd /usr/share/nginx/html/zabbix/assets/fonts
删除默认的语言
[root@localhost fonts]# rm -rf *
上传新的语言
进入windows C:\Windows\Fonts目录下下载自己想要的语言传到服务器上并改成系统默认语言的名字
[root@localhost fonts]# mv simkai.ttf DejaVuSans.ttf

修改语言和默认密码

点击User settings-->Profile

搭建Zabbix6.0版本_第10张图片
搭建Zabbix6.0版本_第11张图片

搭建zabbix_agent端

[root@localhost ~]# yum -y install mysql-devel net-snmp-devel libevent-devel curl-devel libxml2 libxml2-devel

升级gcc为8.0版本以上不然make isntall 会报错
[root@localhost ~]# yum -y install centos-release-scl 
[root@localhost ~]# yum -y install devtoolset-9-gcc devtoolset-9-gcc-c++ devtoolset-9-binutils 
[root@localhost ~]# scl enable devtoolset-9 bash
永久设置
[root@localhost ~]# echo "source /opt/rh/devtoolset-9/enable" >>/etc/profile

创建zabbix用户和组

[root@localhost ~]# groupadd zabbix
[root@localhost ~]# useradd -r -g zabbix zabbix
下载并上传zabbix包
[root@localhost ~]# wget https://cdn.zabbix.com/zabbix/sources/stable/6.0/zabbix-6.0.13.tar.gz

解压配置zabbix包
[root@localhost ~]# tar zxvf zabbix-6.0.13.tar.gz -C /usr/src/
[root@localhost ~]# cd /usr/src/zabbix-6.0.13/
[root@localhost zabbix-6.0.13]# ./configure --prefix=/usr/local/zabbix --enable-agent  --enable-ipv6 --with-net-snmp --with-libcurl --with-libxml2
[root@localhost zabbix-6.0.13]# make install

修改权限
[root@localhost ~]# chown -R zabbix:zabbix /usr/local/zabbix/
[root@localhost ~]# vim /usr/local/zabbix/etc/zabbix_agentd.conf
:%g/^#/d
:%g/^$/d

LogFile=/usr/local/zabbix/logs/zabbix_agentd.log
PidFile=/usr/local/zabbix/pid/zabbix_agent.pid
Server=192.168.43.254
ServerActive=192.168.43.253                                ####输入agent主机采集到数据发送到的server端
Hostname=Zabbix server
Include=/usr/local/zabbix/etc/zabbix_server.conf.d/*.conf

编写系统启动脚本

cat < /etc/systemd/system/zabbix-agent.service
[Unit]
Description=Zabbix Agent
After=syslog.target network.target network-online.target
Wants=network.target network-online.target

[Service]
Type=simple
User=root
ExecStart=/usr/local/zabbix/sbin/zabbix_agentd -c /usr/local/zabbix/etc/zabbix_agentd.conf
RemainAfterExit=yes

[Install]
WantedBy=multi-user.target
EOF

你可能感兴趣的:(zabbix,监控,php,linux,服务器)