CentOS7.6部署Nginx+Zabbix监控系统

root5个月前运维&自动化49

CentOS7.6部署Nginx+Zabbix监控系统

2020.03.30  TsengYia 
---- http://tsengyia.blog.chinaunix.net/ 

系统环境: 
CentOS 7.6.1810 [3.10.0-1062.1.1.el7.x86_64]

软件环境:
—— 以下组件来自CentOS官方源
nginx-1.16.1-1.el7
mariadb-server-5.5.64-1.el7
mariadb-5.5.64-1.el7
php-fpm-5.4.16-46.1.el7_7
php-mysql-5.4.16-46.1.el7_7

—— 以下组件来自zabbix官方源
zabbix-agent-4.0.19-1.el7                          
zabbix-server-mysql-4.0.19-1.el7                          
zabbix-web-4.0.19-1.el7                          
zabbix-web-mysql-4.0.19-1.el7 

#################################################################

一、安装、启用LNMP组件
1. 装包
[root@mysvr1 ~]# yum  -y  install  nginx  mariadb-server  mariadb  php-fpm  php-mysql
[root@mysvr1 ~]# mysql_secure_installation   #//安全设置数据库
.. .. 根据提示设好数据库管理密码

2. 配置
[root@mysvr1 ~]# vim  /etc/nginx/nginx.conf   
    server {
        listen       80 default_server;
        listen       [::]:80 default_server;
        server_name  _;
        root         /usr/share/nginx/html;
        index       index.php  index.html;  #//支持默认首页index.php
        include   /etc/nginx/default.d/*.conf;
        location  / {
       }
        location ~ \.php$ {  #//支持fastcgi,可参考 /etc/nginx/nginx.conf.default 文件
            root           html;
            fastcgi_pass   127.0.0.1:9000;
            fastcgi_index  index.php;
            fastcgi_param  SCRIPT_FILENAME  /scripts$fastcgi_script_name;
            include        fastcgi.conf;   #//注意修正这一行
        }
        error_page 404 /404.html;
            location = /40x.html {
        }
        error_page 500 502 503 504 /50x.html;
            location = /50x.html {
        }
    }

3. 起服务
[root@mysvr1 ~]# systemctl  restart  nginx  mariadb  php-fpm   #//启动LNMP组件
[root@mysvr1 ~]# systemctl  enable  nginx  mariadb  php-fpm   #//设开机自启

4. 测试
[root@mysvr1 ~]# vim  /usr/share/nginx/html/test.php  #//创建测试网页
$link = mysql_connect('localhost','root','密码');  #//测试数据库连接
if($link) echo 'Success!!';  #//如果成功,页面显示Success!!
else echo 'Failure';  #//如果失败,页面显示Failure!!
mysql_close();  #//关闭数据库连接
phpinfo();  #//列出PHP环境信息(5.4.16)
?>

++ 从浏览器访问 http://IP地址/ ,显示默认页
++ 从浏览器访问 http://IP地址/test.php ,显示 Success!! 及PHP环境


二、安装、配置zabbix监控系统
1. 装包
[root@mysvr1 ~]# yum  -y  install  https://repo.zabbix.com/zabbix/4.0/rhel/7/x86_64/zabbix-release-4.0-1.el7.noarch.rpm
[root@mysvr1 ~]# yum  -y  install  zabbix-server  zabbix-agent  zabbix-web

2. 配置zabbix数据库
1)准备数据库及用户
[root@mysvr1 ~]# mysql  -uroot  -p密码
MariaDB [(none)]> create  database  zabbix  character  set  utf8  collate   utf8_bin;
Query OK, 1 row affected (0.00 sec)
MariaDB [(none)]> grant  all  on zabbix.*  to  zabbix@localhost   identified  by   'pwd@123';
Query OK, 0 rows affected (0.00 sec)
MariaDB [(none)]> quit

2)导入初始化表格
[root@mysvr1 ~]# zcat /usr/share/doc/zabbix-server-mysql-4.0.19/create.sql.gz | mysql -uzabbix -ppwd@123 zabbix

3. 配置Nginx和PHP
1)调整nginx设置,使用 /usr/share/zabbix 作为Web目录
++ 增加 fastcgi 调用的缓存设置,否则安装页面在连数据时可能会无法访问
++ 网页提示 File not found,在/var/log/nginx/error.log日志提示upstream sent too big header

[root@mysvr1 ~]# vim  /etc/nginx/nginx.conf
   server {
        listen       80 default_server;
        .. ..
        root         /usr/share/zabbix;   #//设置zabbix套件Web目录
        index       index.php  index.html;  #//支持默认首页index.php
        location  / {
       }
        location ~ \.php$ {  #//支持fastcgi,可参考 /etc/nginx/nginx.conf.default 文件
            fastcgi_buffer_size 128k;  #//增加此行
            fastcgi_buffers 32 32k;  #//增加此行
            # root           html;  #//此行注释掉(用上面的/usr/share/zabbix目录)
            fastcgi_pass   127.0.0.1:9000;
            fastcgi_index  index.php;
            fastcgi_param  SCRIPT_FILENAME  /scripts$fastcgi_script_name;
            include        fastcgi.conf;
        }
   }
[root@mysvr1 ~]# systemctl  restart  nginx   #//重启nginx服务

2)调整 php.ini 参数
[root@mysvr1 ~]# vim  /etc/php.ini
.. ..
memory_limit = 128M
post_max_size = 16M
max_input_time = 300
max_execution_time = 300
date.timezone = Asia/Shanghai
.. ..
[root@mysvr1 ~]# systemctl  restart  php-fpm   #//重启php-fpm服务


4. 配置zabbix网页系统
++ 浏览器访问 http://IP地址/ ,可以看到zabbix安装页面,根据提示安装
++ 如果报错,请检查前面的配置是否正确


5. 配置、启动zabbix主控端服务
[root@mysvr1 ~]# vim  /etc/zabbix/zabbix_server.conf
DBName=zabbix
DBUser=zabbix
DBPassword=数据库密码

[root@mysvr1 ~]# systemctl  enable  zabbix-server  --now

6. 配置、启动zabbix被控端服务
++ 如果本机也需要被监控的话
[root@mysvr1 ~]# vim  /etc/zabbix/zabbix_agent.conf
DBName=zabbix
DBUser=zabbix
DBPassword=数据库密码

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


三. 使用zabbix监控系统
++ 浏览器访问 http://IP地址/ ,以默认管理员Admin登录,密码zabbix


++ 解决监控图形乱码问题:
[root@mysvr1 ~]# yum -y install wqy-microhei-fonts  #//安装文泉驿-微黑字体
[root@mysvr1 ~]# mv /usr/share/zabbix/assets/fonts/graphfont.ttf{,.bak}   #//备份旧的绘图字体
[root@mysvr1 ~]# cp  /usr/share/fonts/wqy-microhei/wqy-microhei.ttc  /usr/share/zabbix/assets/fonts/graphfont.ttf   #//部署新的绘图字体

.. .. 其他管理操作略

相关文章

解决zabbix 嵌入到frame时不被允许

系统嵌入zabbix界面时间遇见不被允许插入frame中因为header头设置了X-Frame-Options 前端界面显示为:Refused to display 'http://...

ssh秘钥登录

ssh秘钥登录

流程大致root用户下:在本地客户端生成ssh密钥对ssh-keygen -t rsa一路三个回车就行了,想设置密语的也可以生成这样就行了把公钥分发给要登录的机器(即服务端)ssh...

Ubuntu搭建zabbix(apach/nginx)填坑篇

Ubuntu搭建zabbix(apach/nginx)填坑篇

apt-get install php7.0-bcmath php7.0-xml php7.0-mbstring php7.0-mysql安装Zabbix所需的几个PHP模块wget http://r...

ansible的常用命令

ansible的常用命令

首先安装sudo ape-get install ansible然后分发ssh密钥,参考ssh分发。不想用密钥的用密码也是可以的修改配置文件vim /etc/a...

zabbix服务无法访问mysql或界面显示zabbix_server no data

部署zabbix突然出现no data 的情况通过查看日志发现zabbix_server 无法访问数据库。导致数据无法获取到。进入zabbix的安装界面(/setup)重新配置数据库仍然发现没有办法连...

Zabbix配置自动发现,实现批量添加主机

Zabbix配置自动发现,实现批量添加主机

一、需求  zabbix 服务器可以手动加入zabbix-agent客户端,对于少量的机器,这没有什么。但到了线上,我们有大量的服务器需要监控时,如果再一个个的手动加的话,工作量势必会增加很多。这时,...