zabbix监控部署

Zabbix

  1. Zabbix简介
    Zabbix 由 Alexei Vladishev 创建,目前由其成立的公司—— Zabbix SIA 积极的持续开发更新维护, 并为用户提供技术支持服务。

Zabbix 是一个企业级分布式开源监控解决方案。

Zabbix 软件能够监控众多网络参数和服务器的健康度、完整性。Zabbix 使用灵活的告警机制,允许用户为几乎任何事件配置基于邮件的告警。这样用户可以快速响应服务器问题。Zabbix 基于存储的数据提供出色的报表和数据可视化功能。这些功能使得 Zabbix 成为容量规划的理想选择。

Zabbix 支持主动轮询(polling)和被动捕获(trapping)。Zabbix所有的报表、统计数据和配置参数都可以通过基于 Web 的前端页面进行访问。基于 Web 的前端页面确保您可以在任何地方访问您监控的网络状态和服务器健康状况。适当的配置后,Zabbix 可以在监控 IT 基础设施方面发挥重要作用。无论是对于有少量服务器的小型组织,还是拥有大量服务器的大企业而言,同样适用。

Zabbix 是免费的。Zabbix 是根据 GPL 通用公共许可证的第二版编写和发布的。这意味着产品源代码是免费发布的,可供公共使用。
2. Zabbix部署
主机 主机名 操作系统 IP地址 软件版本
Zabbix监控和被监控 Guoqing4 Centos7 192.168.1.5 Zabbix-4.2.6
2.1. 整个环境所需要的软件包
php-5.6.36、libmcrypt-2.5.7、mysql-5.7.26、nginx-1.10.3、zabbix-4.2.6
3. 搭建LNMP环境
3.1安装MySQL-5.7.26
Mysql安装略,具体安装过程可以参考mysql安装文档,或执行sh脚本,文件夹里面有。
3.2 安装php-5.6.36
3.2.1安装依赖软件包
[root@guoqing4 ~]# yum -y install make apr* autoconf automake curl-devel gcc gcc-c++ openssl openssl-devel gd kernel keyutils patch perl kernel-headers compat* mpfr cpp glibc libgomp libstdc+±devel keyutils-libs-devel libcom_err-devel libsepol-devel libselinux-devel krb5-devel zlib-devel libXpm* freetype libjpeg* libpng* libtool* libxml2 libxml2-devel patch libcurl-devel bzip2-devel freetype-devel
3.2.2安装libmcrypt
[root@guoqing4 ~]# rz #上传软件包
[root@guoqing4 ~]# ls #查看是否上传成功
在这里插入图片描述

[root@guoqing4 ~]# tar zxf libmcrypt-2.5.7.tar.gz #解压此软件包
[root@guoqing4 ~]# cd libmcrypt-2.5.7/ #去到该目录下
[root@guoqing4 libmcrypt-2.5.7]# ./configure --prefix=/usr/local/libmcrypt && make && make install #进行预编译安装
3.2.3 安装php
[root@guoqing4 ~]# rz #上传安装包
[root@guoqing4 ~]# ls #查看一下是否上传成功
在这里插入图片描述

[root@guoqing4 ~]# tar zxf php-5.6.36.tar.gz #解压此软件包
[root@guoqing4 ~]# cd php-5.6.36/ #去到该目录下
[root@guoqing4 php-5.6.36]# ./configure --prefix=/usr/local/php5.6 --with-config-file-path=/etc --with-mysql=/usr/local/mysql --with-mysqli=/usr/local/mysql/bin/mysql_config --with-mysql-sock=/usr/local/mysql/mysql.sock --with-gd --with-iconv --with-libxml-dir=/usr --with-mhash --with-mcrypt --with-config-file-scan-dir=/etc/php.d --with-bz2 --with-zlib --with-freetype-dir --with-png-dir --with-jpeg-dir --enable-xml --enable-bcmath --enable-shmop --enable-sysvsem --enable-inline-optimization --enable-mbregex --enable-fpm --enable-mbstring --enable-ftp --enable-gd-native-ttf --with-openssl --enable-pcntl --enable-sockets --with-xmlrpc --enable-zip --enable-soap --without-pear --with-gettext --enable-session --with-mcrypt=/usr/local/libmcrypt --with-curl #进行预编译
[root@guoqing4 php-5.6.36]# make && make install #进行安装
2.3.4 生成php.Ini配置文件
[root@guoqing4 php-5.6.36]# cp php.ini-production /etc/php.ini #将文件复制到/etc/php.ini下
[root@guoqing4 ~]# vim /etc/php.ini #编辑修改此文件
找到:
;date.timezone =
date.timezone = PRC #设置时区
找到:
expose_php = On
修改为
expose_php = Off #禁止显示php版本的信息
找到
short_open_tag = Off
修改为
short_open_tag = On //支持php短标签
找到
post_max_size = 8M
修改为
post_max_size = 16M //上传文件大小
找到
max_execution_time = 30
修改为
max_execution_time = 300 //php脚本最大执行时间
找到
max_input_time = 60
修改为
max_input_time = 300 //以秒为单位对通过POST、GET以及PUT方式接收数据时间进行限制
always_populate_raw_post_data = -1
mbstring.func_overload = 0

2.3.5 创建php-fpm服务启动脚本
[root@guoqing4 ~]# cd php-5.6.36 #去到该目录下
[root@guoqing4 php-5.6.36]# cp sapi/fpm/init.d.php-fpm /etc/init.d/php-fpm #将该文件复制到/etc/init.d/php-fpm下
[root@guoqing4 php-5.6.36]# chmod +x /etc/init.d/php-fpm #给该文件可执行权限
[root@guoqing4 php-5.6.36]# chkconfig --add php-fpm #生成脚本
[root@zabbix_server php-5.6.36]# chkconfig php-fpm on #开启此脚本
2.3.6 提供php-fpm配置文件并编辑
[root@guoqing4 ~]# cp /usr/local/php5.6/etc/php-fpm.conf.default /usr/local/php5.6/etc/php-fpm.conf #将此文件拷贝到/usr/local/php5.6/etc/php-fpm.conf这个目录下
[root@guoqing4 ~]# useradd -M -s /sbin/nologin www #创建一个没有家目录并且指定到/sbin/nologin目录名为www的用户
[root@guoqing4 ~]# vim /usr/local/php5.6/etc/php-fpm.conf #编辑此文件
pid = run/php-fpm.pid
user = www
group = www
listen =127.0.0.1:9000
pm.max_children = 300
pm.start_servers = 10
pm.min_spare_servers = 10
pm.max_spare_servers =50

2.3.7启动php-fpm服务
[root@guoqing4 ~]# /etc/init.d/php-fpm start #启动此服务
[root@guoqing4 ~]# netstat -anplt | grep php-fpm #查看该服务
在这里插入图片描述

  1. 安装nginx
    3.1 安装依赖包
    [root@guoqing4 ~]# yum install -y gcc gcc-c++ autoconf automake zlib zlib-devel openssl openssl-devel pcre pcre-devel #安装所需要的依赖包
    3.2 编译安装nginx
    [root@guoqing4 ~]# rz #上传安装包
    [root@guoqing4 ~]# tar -zxvf nginx-1.10.3.tar.gz #解压安装包
    [root@guoqing4 ~]# cd nginx-1.10.3/ #去到该目录
    [root@guoqing4 nginx-1.10.3]# ./configure --prefix=/usr/local/nginx --with-http_dav_module --with-http_stub_status_module --with-http_addition_module --with-http_sub_module --with-http_flv_module --with-http_mp4_module --with-pcre --with-http_ssl_module --with-http_gzip_static_module --user=www --group=www #进行预编译
    [root@guoqing4 nginx-1.10.3]# make && make install #安装
    3.3 启动nginx服务
    [root@guoqing4 nginx-1.10.3]# ln -s /usr/local/nginx/sbin/nginx /usr/local/sbin/ #创建软链接
    [root@guoqing4 nginx-1.10.3]# nginx #启动该服务
    [root@guoqing4 nginx-1.10.3]# netstat -anplt | grep nginx 查看是否启动
    在这里插入图片描述

  2. 配置nginx支持php
    [root@guoqing4 nginx-1.10.3]# vim /usr/local/nginx/conf/nginx.conf #修改此文件
    user www www;
    worker_processes 4;
    error_log logs/error.log;
    pid logs/nginx.pid;
    events {
    use epoll;
    worker_connections 1024;
    }
    http {
    include mime.types;
    default_type application/octet-stream;
    log_format main '$remote_addr - r e m o t e u s e r [ remote_user [ remoteuser[time_local] “KaTeX parse error: Double superscript at position 30: … '̲status b o d y b y t e s s e n t " body_bytes_sent " bodybytessent"http_referer” ’
    ‘“ h t t p u s e r a g e n t " " http_user_agent" " httpuseragent""http_x_forwarded_for”’;
    access_log logs/access.log main;
    sendfile on;
    keepalive_timeout 65;
    server {
    listen 80;
    server_name localhost;
    charset utf-8;
    location / {
    root html;
    index index.php index.html index.htm;
    }
    location ~ .php$ {
    root html;
    fastcgi_pass 127.0.0.1:9000;
    fastcgi_index index.php;
    include fastcgi.conf;
    }
    error_page 500 502 503 504 /50x.html;
    location = /50x.html {
    root html;
    }
    }
    }

    [root@guoqing4 nginx-1.10.3]# nginx –t #查看是否出错
    在这里插入图片描述

[root@guoqing4 nginx-1.10.3]# nginx -s reload #重载nginx
5. 测试LNMP
5.1 进入nginx默认的网页根目录,创建.php的测试页
[root@guoqing4 nginx-1.10.3]# vim /usr/local/nginx/html/test1.php #创建该文件
* phpinfo();
?>
[root@guoqing4 nginx-1.10.3]# vim /usr/local/nginx/html/test2.php #创建改文件

*

测试访问结果
zabbix监控部署_第1张图片
zabbix监控部署_第2张图片

  1. 创建导入zabbix数据库
    Zabbix 需要数据库的支持(mysql,oracle,PostgreSQL,SQLite, DB2),而且Zabbix 源码包中已经自带了数据库结构。
    6.1 创建zabbix使用的数据库
    [root@guoqing4 ~]# mysql -uroot -p123456 #登录到MySQL里
    mysql> create database zabbix character set utf8; #创建zabbix用户并指定utf8字符集
    mysql> grant all on zabbix.* to zabbix@localhost identified by ‘zabbix’; #给zabbix用户相应的权限
    mysql> flush privileges; #刷新权限
    mysql> exit #推出MySQL
    6.2 解压zabbix-4.2.6.tar.gz
    [root@guoqing4 ~]# rz #上传压缩包
    [root@guoqing4 ~]#ls #查看一下
    在这里插入图片描述

[root@guoqing4 ~]# tar -zxvf zabbix-4.2.6.tar.gz #解压此压缩包
[root@guoqing4 zabbix-4.2.6]# cd zabbix-4.2.6 #去到该目录下
6.3 导入数据库,注意顺序,佛则会报错
[root@guoqing4 zabbix-4.2.6]# mysql -uzabbix -pzabbix zabbix < database/mysql/schema.sql
[root@guoqing4 zabbix-4.2.6]# mysql -uzabbix -pzabbix zabbix < database/mysql/images.sql
[root@guoqing4 zabbix-4.2.6]# mysql -uzabbix -pzabbix zabbix < database/mysql/data.sql
如果在做分布式的环境中,Proxy服务器只需要导入schema.sql,agent不需要导入。Server必须三个都要导入。
6.4 安装依赖包
[root@guoqing4 zabbix-4.2.6]# yum -y install net-snmp net-snmp-devel curl-devel java-1.8.0-openjdk java-1.8.0-openjdk-devel OpenIPMI-devel libssh2-devel libevent libevent-devel
如果是本地yum源安装依赖包,需要安装zabbix_rpm.tar.gz包里的rmp包。
[root@guoqing4 ~]# rz #上传zabbix_rpm.tar.gz包
[root@guoqing4 ~]# tar -zxvf zabbix_rpm.tar.gz #解压此包
[root@guoqing4 ~]# cd zabbix_rpm #去到改目录下
[root@guoqing4 zabbix_rpm]# yum install -y * #安装该目录所有包
6.5 创建用户
[root@guoqing4 ~]# groupadd zabbix #创建zabbix用户组
[root@guoqing4 ~]# useradd -s /sbin/nologin -g zabbix zabbix #将zabbix用户添加到zabbix组中
6.6 进行预编译安装
[root@guoqing4 ~]# cd zabbix-4.2.6 #去到该目录下
[root@guoqing4 zabbix-4.2.6]# ./configure --prefix=/usr/local/zabbix --enable-server --enable-agent --enable-java --with-mysql=/usr/local/mysql/bin/mysql_config --with-net-snmp --with-libcurl --with-libxml2 --with-openipmi #进行预编译
[root@guoqing4 zabbix-4.2.6]# make install #进行安装
[root@guoqing4 zabbix-4.2.6]# ln -s /usr/local/zabbix/bin/* /usr/local/bin/ #添加系统软链接
[root@guoqing4 zabbix-4.2.6]# ln -s /usr/local/zabbix/sbin/* /usr/local/sbin/ #添加系统软链接
7. 配置zabbix server
[root@guoqing4 zabbix-4.2.6]# vim /usr/local/zabbix/etc/zabbix_server.conf #修改此文件
LogFile=/usr/local/zabbix/logs/zabbix_server.log
PidFile=/usr/local/zabbix/logs/zabbix_server.pid
DBHost=localhost
DBName=zabbix
DBUser=zabbix
DBPassword=zabbix
DBPort=3306

[root@guoqing4 zabbix-4.2.6]# mkdir -p /usr/local/zabbix/logs #创建日志目录
[root@guoqing4 zabbix-4.2.6]# chown -R zabbix:zabbix /usr/local/zabbix/ #给用户目录权限
8. 监控zabbix server 本身
[root@guoqing4 zabbix-4.2.6]# vim /usr/local/zabbix/etc/zabbix_agentd.conf #修改此文件
PidFile=/usr/local/zabbix/logs/zabbix_agentd.pid
LogFile=/usr/local/zabbix/logs/zabbix_agentd.log
Server=127.0.0.1
ListenPort=10050
ServerActive=127.0.0.1
Hostname=Zabbix server
Timeout=15
Include=/usr/local/zabbix/etc/zabbix_agentd.conf.d/
UnsafeUserParameters=1

8.1解决库文件找不到
[root@guoqing4 zabbix-4.2.6]# vim /etc/ld.so.conf #在该文件下添加
/usr/local/mysql/lib #根据实际路径添加此行
[root@guoqing4 ~]# ldconfig #使库文件生效
[root@guoqing4 ~]# /usr/local/zabbix/sbin/zabbix_server -c /usr/local/zabbix/etc/zabbix_server.conf #启动服务
[root@guoqing4 ~]# netstat -anplt | grep zabbix_server #查看是否启动
在这里插入图片描述

8.2 添加zabbix启动脚本
[root@guoqing4 ~]# cd /root/zabbix-4.2.6/misc/init.d/ #去到该目录
[root@guoqing4 init.d]# cp fedora/core/* /etc/init.d/ #将文件拷贝到/etc/init.d/下
[root@guoqing4 init.d]# vim /etc/init.d/zabbix_server #修改此目录
BASEDIR=/usr/local/zabbix #找到此行,并修改。zabbix安装目录
PIDFILE=/usr/local/zabbix/logs/KaTeX parse error: Expected 'EOF', got '#' at position 18: …NARY_NAME.pid #̲ pid文件路径* [root…BINARY_NAME.pid # pid文件路径

[root@guoqing4 init.d]# chkconfig --add zabbix_server
[root@guoqing4 init.d]# chkconfig --add zabbix_agentd
[root@guoqing4 init.d]# chkconfig zabbix_server on
[root@guoqing4 init.d]# chkconfig zabbix_agentd on
9. 配置zabbix web页面
[root@guoqing4 ~]# cd /root/zabbix-4.2.6/ #去到该目录下
[root@guoqing4 zabbix-4.2.6]# cp -r /root/zabbix-4.2.6/frontends/php/* /usr/local/nginx/html/ #复制文件
[root@guoqing4 zabbix-4.2.6]# chown -R www:www /usr/local/nginx/html/ #给用户权限
9.1 重启nginx服务和php-fpm服务
[root@guoqing4 ~]# /usr/local/nginx/sbin/nginx -s reload
[root@guoqing4 ~]# /etc/init.d/php-fpm restart
10.网页测试

你可能感兴趣的:(数据共享,服务器,php,mysql,zabbix)