首页 > 其他 > 详细

Zabbix5.0分布式监控平台搭建

时间:2020-11-29 13:14:48      阅读:48      评论:0      收藏:0      [点我收藏+]
一、简介
Zabbix的常用组件
?Zabbix Web Gui: 提供Web界面。
Zabbix Databases:提供数据库存储功能并用于存储配置信息。以及采集到的数据。
?Zabbix Server : 接收来自Agent采集数据的核心组件。
?Zabbix Agent :部署在被监控的主机上,用于采集本地的数据。
?Zabbix Proxy: 当监控节点较多时,用于减轻Server压力组件,也可用于分布式。监控系统,由Proxy接收数据后统一发送给Server。
进程
?zabbix-_agentd:客户端守护进程,负责收集客户端数据,例如cpu负载、内存、硬盘使用情况等。
?zabbix_get:zabbix数据接收工具,单独使用的命令,通常在Server或者Proxy端执行获取远端客户信息的命令。通常客户排错。例如在Server端获取不到客户端的内存数据,我们可以使用zabbix_get获取客户端的内容的方式来做故障排查。
?zabbix_sender:zabbix数据发送工具,用于发送数据给Server或者Proxy,通常用于耗时比较长的检查。很多检查非常耗时间,导致zabbix超时。于是我们在脚本执行完毕之后,使用sender主动提交数据。
?zabbix--_proxy:zabbix代理守护进程。功能类似Server,唯一不同的是它只是一个中转站,它需要把收集到的数据提交/被提交到Server里。
?zabbix-_java-_gateway:Java网关,类似agentd,但是只用于Java方面。它只能主动去获取数据,而不能被动获取数据。它的数据最终会给到Server或者proxy。
二、Zabbix监控平台搭建
环境介绍:
?CentOS 7.5
?Zabbix-server(监控端)192.168.92.111
?Zabbix-agent (被监控端)192.168.92.14
1.基础环境配置:
systemctl disable firewalld
systemctl stop firewalld
setenforce=0
vim /etc/sysconfig/selinux,修改为SELINUX=disabled
getenforce
yum install tree net-tool net-snmp vim ntpdate  wget             	#安装部分基础软件包
#修改yum源 更改为阿里云 
cd /etc/yum.repos.d/
mv CentOS-Base.repo CentOS-Base.repo.bak
#下载阿里云镜像仓库
wget -O CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
#下载epel仓库
wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo
yum clean all
#重新生成缓存
yum makecache   

2.安装Mysql数据库
wget https://repo.mysql.com//mysql57-community-release-el7-11.noarch.rpm
ls mysql57-community-release-el7-11.noarch.rpm
#安装Mysql Yum源
rpm -ivh mysql57-community-release-el7-11.noarch.rpm
yum -y install mysql-server
systemctl start mysqld
systemctl enable mysqld
#tcp    LISTEN     0      80     [::]:3306               [::]:*                   users:(("mysqld",pid=54086,fd=21))
ss -antulp | grep :3306
#查看初始密码
grep ‘root@localhost:‘ /var/log/mysqld.log
mysql -hlocalhost -uroot -p‘hsQ(7(so_cgX‘
alter user root@"localhost" identified by "123qqq...A";
mysql -uroot -p123qqq...A

3.安装Zabbix 5.0监控平台
#安装Zabbix Yum源仓库
rpm -Uvh https://repo.zabbix.com/zabbix/5.0/rhel/7/x86_64/zabbix-release-5.0-1.el7.noarch.rpm
yum clean all
#安装Zabbix Server 与 Zabbix agent
yum -y install zabbix-server-mysql zabbix-agent

注意:
1.如果安装中报错:Delta RPMs disabled because /usr/bin/applydeltarpm not installed,则安装 deltarpm软件。
yum -y  install deltarpm
2.安装zabbixserver,,zabbix-agent的时候,报错:
Error downloading packages:
zabbix-server-mysql-5.0.2-1.el7.x86_64: [Errno 256] No more mirrors to try.
zabbix-agent-5.0.2-1.el7.x86_64: [Errno 256] No more mirrors to try.
问题分析
一般这样的问题是因为用的国外源,下载速度慢导致的,可以多下载几次试试,或者直接换成阿里的源,或者先执行yum -y install zabbix-server-mysql,然后执行yum -y install zabbix-server-mysql zabbix-agent

#安装Zabbix frontend
yum -y install centos-release-scl
vim /etc/yum.repos.d/zabbix.repo

[zabbix-frontend]
name=Zabbix Official Repository frontend - $basearch
baseurl=http://repo.zabbix.com/zabbix/5.0/rhel/7/$basearch/frontend
enabled=1        //将0修改为1

#安装Zabbix前端包
yum -y install zabbix-web-mysql-scl zabbix-apache-conf-scl
yum -y install zabbix-web
#yum下载多次出错,wget下载,然后rpm方式安装
wget http://repo.zabbix.com/zabbix/5.0/rhel/7/x86_64/frontend/zabbix-web-5.0.5-1.el7.noarch.rpm
#查询noarch包zabbix-web
rpm -ivh zabbix-web-5.0.5-1.el7.noarch.rpm
rpm -qa | grep zabbix-web
#再次执行yum -y install zabbix-web-mysql-scl zabbix-apache-conf-scl
yum -y install zabbix-web-mysql-scl zabbix-apache-conf-scl

#[zabbix-non-supported]换成aliyun镜像报错:
failure: repodata/repomd.xml from zabbix-non-supported: [Errno 256] No more mirrors to try.
https://mirrors.aliyun.com/zabbix/non-supported/rhel/7/$basearc/repodata/repomd.xml: [Errno 14] HTTPS Error 404 - Not Found

Error downloading packages:
  zabbix-web-5.0.5-1.el7.noarch: [Errno 256] No more mirrors to try.
解决:
wget http://repo.zabbix.com/zabbix/5.0/rhel/7/x86_64/frontend/zabbix-web-5.0.5-1.el7.noarch.rpm
#查询noarch包zabbix-web
rpm -ivh zabbix-web-5.0.5-1.el7.noarch.rpm
rpm -qa | grep zabbix-web

#将官方yum源的地址改为阿里云的地址,仍然报错
vim /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=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-ZABBIX-A14FE591

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

创建和初始化数据库
mysql -uroot -p123qqq...A
create database zabbix character set utf8 collate utf8_bin;
create user zabbix@localhost identified by ‘123qqq...A‘;
grant all privileges on zabbix.* to zabbix@localhost;
show databases;
exit
#导入Zabbix数据库结构和数据
zcat /usr/share/doc/zabbix-server-mysql*/create.sql.gz | mysql -uzabbix -p123qqq...A zabbix
#mysql: [Warning] Using a password on the command line interface can be insecure.

4.配置Zabbix server
ls /etc/opt/rh/rh-nginx116/nginx
ls: cannot access /etc/opt/rh/rh-nginx116/nginx: No such file or directory
解决:单独安装 rh-nginx116
yum -y install rh-nginx116

#无此文件
[root@localhost ~]# vim /etc/opt/rh/rh-nginx116/nginx/conf.d/zabbix.conf

server {
#        listen          80;
#        server_name     example.com;
取消以上两行注释修改后为以下:
server {
        listen          80;
        server_name     example.com;
...

[root@localhost ~]# cat /etc/opt/rh/rh-nginx116/nginx/conf.d/zabbix.conf
server {
        listen          80;
        server_name     example.com;

        root    /usr/share/zabbix;

        index   index.php;

        location = /favicon.ico {
                log_not_found   off;
        }

        location / {
                try_files       $uri $uri/ =404;
        }

        location /assets {
                access_log      off;
                expires         10d;
        }

        location ~ /\.ht {
                deny            all;
        }

        location ~ /(api\/|conf[^\.]|include|locale) {
                deny            all;
                return          404;
        }

        location ~ [^/]\.php(/|$) {
                fastcgi_pass    unix:/var/opt/rh/rh-php72/run/php-fpm/zabbix.sock;
                fastcgi_split_path_info ^(.+\.php)(/.+)$;
                fastcgi_index   index.php;

                fastcgi_param   DOCUMENT_ROOT   /usr/share/zabbix;
                fastcgi_param   SCRIPT_FILENAME /usr/share/zabbix$fastcgi_script_name;
                fastcgi_param   PATH_TRANSLATED /usr/share/zabbix$fastcgi_script_name;

                include fastcgi_params;
                fastcgi_param   QUERY_STRING    $query_string;
                fastcgi_param   REQUEST_METHOD  $request_method;
                fastcgi_param   CONTENT_TYPE    $content_type;
                fastcgi_param   CONTENT_LENGTH  $content_length;

                fastcgi_intercept_errors        on;
                fastcgi_ignore_client_abort     off;
                fastcgi_connect_timeout         60;
                fastcgi_send_timeout            180;
                fastcgi_read_timeout            180;
                fastcgi_buffer_size             128k;
                fastcgi_buffers                 4 256k;
                fastcgi_busy_buffers_size       256k;
                fastcgi_temp_file_write_size    256k;
        }
}

[root@localhost ~]# vim /etc/zabbix/zabbix_server.conf
...
116 DBUser=zabbix     //用户名要与数据库中创建的供zabbix访问的用户名一致
...
124 DBPassword=#      //去掉注释,添加创建的zabbix用户的数据库密码
...

#为Zabbix前端配置PHP,不能用#注释,否则php无法识别
; php_value[date.timezone] = Europe/Riga     
--》取消注释将Europe/Riga时区修改为以下:
php_value[date.timezone] = Aisa/Shanghai
listen.acl_users = apache,nginx       //添加一个nginx

vim /etc/opt/rh/rh-php72/php-fpm.d/zabbix.conf

[zabbix]
user = apache
group = apache

listen = /var/opt/rh/rh-php72/run/php-fpm/zabbix.sock
listen.acl_users = apache,nginx       //添加一个nginx
listen.allowed_clients = 127.0.0.1

pm = dynamic
pm.max_children = 50
pm.start_servers = 5
pm.min_spare_servers = 5
pm.max_spare_servers = 35

php_value[session.save_handler] = files
php_value[session.save_path]    = /var/opt/rh/rh-php72/lib/php/session/

php_value[max_execution_time] = 300
php_value[memory_limit] = 128M
php_value[post_max_size] = 16M
php_value[upload_max_filesize] = 2M
php_value[max_input_time] = 300
php_value[max_input_vars] = 10000
; php_value[date.timezone] = Europe/Riga     
--》取消注释将Europe/Riga时区修改为以下:
php_value[date.timezone] = Asia/Shanghai

6.开启服务
systemctl restart zabbix-server zabbix-agent  httpd rh-php72-php-fpm
systemctl status zabbix-server
systemctl status zabbix-agent
systemctl status httpd
systemctl status rh-php72-php-fpm
systemctl start rh-php72-php-fpm
systemctl enable zabbix-server zabbix-agent httpd rh-php72-php-fpm


#rh-php72-php-fpm服务未启动
[root@node1 ~]# systemctl status rh-php72-php-fpm
● rh-php72-php-fpm.service - The PHP FastCGI Process Manager
   Loaded: loaded (/usr/lib/systemd/system/rh-php72-php-fpm.service; disabled; vendor preset: disabled)
   Active: failed (Result: exit-code) since Sat 2020-11-28 13:44:57 CST; 3min 55s ago
  Process: 4031 ExecStart=/opt/rh/rh-php72/root/usr/sbin/php-fpm --nodaemonize (code=exited, status=78)
 Main PID: 4031 (code=exited, status=78)

Nov 28 13:44:57 node1 systemd[1]: Starting The PHP FastCGI Process Manager...
Nov 28 13:44:57 node1 php-fpm[4031]: [28-Nov-2020 13:44:57] ERROR: [/etc/opt/rh/rh-php72/php-fpm.d/zabbix.conf:6] unknown entry ‘#listen.acl_users‘
Nov 28 13:44:57 node1 php-fpm[4031]: [28-Nov-2020 13:44:57] ERROR: Unable to include /etc/opt/rh/rh-php72/php-fpm.d/zabbix.conf from /etc/opt/rh/rh-php72/php-fpm.conf at line 6
Nov 28 13:44:57 node1 php-fpm[4031]: [28-Nov-2020 13:44:57] ERROR: failed to load configuration file ‘/etc/opt/rh/rh-php72/php-fpm.conf‘
Nov 28 13:44:57 node1 php-fpm[4031]: [28-Nov-2020 13:44:57] ERROR: FPM initialization failed
Nov 28 13:44:57 node1 systemd[1]: rh-php72-php-fpm.service: main process exited, code=exited, status=78/n/a
Nov 28 13:44:57 node1 systemd[1]: Failed to start The PHP FastCGI Process Manager.
Nov 28 13:44:57 node1 systemd[1]: Unit rh-php72-php-fpm.service entered failed state.
Nov 28 13:44:57 node1 systemd[1]: rh-php72-php-fpm.service failed.

[root@localhost ~]# ss -antulp | grep :80
tcp    LISTEN     0      128      :::80                   :::*                   users:(("httpd",pid=5619,fd=4),("httpd",pid=5618,fd=4),("httpd",pid=5617,fd=4),("httpd",pid=5616,fd=4),("httpd",pid=5614,fd=4),("httpd",pid=5585,fd=4))

[root@localhost ~]# ps -aux | grep zabbix
......
apache     5677  0.0  0.3 336672  7316 ?        S    16:36   0:00 php-fpm: pool zabbix
root       5809  0.0  0.0 112736   976 pts/0    S+   16:47   0:00 grep --color=auto zabbix

7.访问
http://192.168.92.111/zabbix/setup.php
The server is temporarily unable to service your request due to maintenance downtime or capacity problems. Please try again later.


















?可以看到已经登录到zabbix 5.0监控界面了,上面的红色提示不是报错,只是提示之前“2次登录尝试失败..”刷新一下提示就消失了。
修改Zabbix 5.0界面语言为中文:

  

Zabbix5.0分布式监控平台搭建

原文:https://www.cnblogs.com/buffercache/p/14055949.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!