运维的那点事

zabbix从安装到应用(基础篇)

2019-05-15  本文已影响223人  无字天书

参考官方文档

1,工具准备

zabbix:http://www.zabbix.com/download_sources

linux==>CentOS Linux release 7.4.1708 (Core)

php==> php-5.4.16

nginx==>nginx-1.12.2

mariadb==>mariadb-5.5.60  

2,lnmp环境搭建

实验前准备

[root@zabbix101 iso]# yum -y install epel-realease

[root@zabbix101 iso]# vim /etc/selinux/config

SELINUX=disabled

[root@zabbix101 iso]# systemctl stop firewalld

[root@zabbix101 iso]# systemctl disable firewalld

[root@zabbix101 iso]#yum  -y install iptables-services

[root@zabbix101 iso]# iptables -F

[root@zabbix101 iso]# service iptables save

1)nginx

[root@zabbix101 iso]# yum -y install zlib-devel openssl-devel pcre-devel gcc-c++

[root@zabbix101 iso]# tar -xvf nginx-1.12.2.tar.gz

[root@zabbix101 iso]# useradd -s /sbin/nologin nginx

[root@zabbix101 iso]# cd nginx-1.12.2

[root@zabbix101 nginx-1.12.2]# ./configure --prefix=/usr/local/nginx --user=nginx --group=nginx --with-http_ssl_module --with-http_stub_status_module

[root@zabbix101 nginx-1.12.2]#make && make install

[root@zabbix101 ~]# vim /usr/local/nginx/conf/nginx.conf

… …

http{

… …

fastcgi_buffers 8 16k;                      //缓存php生成的页面内容,8个16k

fastcgi_buffer_size 32k;                      //缓存php生产的头部信息

fastcgi_connect_timeout 300;                 //连接PHP的超时时间

fastcgi_send_timeout 300;                     //发送请求的超时时间

fastcgi_read_timeout 300;                        //读取请求的超时时间

location ~ \.php$ {

                root           html;

                fastcgi_pass   127.0.0.1:9000;

                fastcgi_index  index.php;

                include        fastcgi.conf;

        }

… …

[root@zabbix101 ~]# ln -s /usr/local/nginx/sbin/nginx /sbin/

[root@zabbix101 ~]# nginx

[root@zabbix101 ~]# ss -tunlp | grep :80

tcp    LISTEN    0      128      *:80                    *:*                  users:(("nginx",pid=10245,fd=6),("nginx",pid=10244,fd=6))

2)php

[root@zabbix101 ~]# yum -y install php-gettext net-snmp-devel curl-devel libevent-devel php-gd php-xml php-bcmath php-mbstring

[root@zabbix101 iso]# yum -y install php php-fpm php-mysql

[root@zabbix101 ~]# vim /etc/php.ini

date.timezone = Asia/Shanghai                //设置时区

max_execution_time = 300                    //最大执行时间,秒

post_max_size = 32M                        //POST数据最大容量

max_input_time = 300                        //服务器接收数据的时间限制

memory_limit = 128M                        //内存容量限制

[root@zabbix101 iso]# systemctl restart php-fpm

[root@zabbix101 iso]# systemctl enable php-fpm

[root@zabbix101 ~]# ss -tunlp | grep php-fpm

tcp    LISTEN    0      128    127.0.0.1:9000                  *:*                  users:(("php-fpm",pid=10353,fd=0),("php-fpm",pid=10352,fd=0),("php-fpm",pid=10351,fd=0),("php-fpm",pid=10350,fd=0),("php-fpm",pid=10349,fd=0),("php-fpm",pid=10347,fd=6))

3)mariadb

[root@zabbix101 ~]# yum -y install mariadb mariadb-server mariadb-devel

[root@zabbix101 ~]# vim /etc/my.cnf

[mysqld]

character_set_server=utf8

[root@zabbix101 ~]# systemctl restart mariadb

[root@zabbix101 ~]# systemctl enable mariadb

[root@zabbix101 ~]# ss -tunlp | grep :3306

tcp    LISTEN    0      50        *:3306                  *:*                  users:(("mysqld",pid=28223,fd=13))

3,服务端

1)安装

[root@zabbix101 iso]# wget https://sourceforge.net/projects/zabbix/files/ZABBIX%20Latest%20Stable/4.0.7/zabbix-4.0.7.tar.gz

[root@zabbix101 iso]# ls

zabbix-4.0.5.tar.gz

[root@zabbix101 iso]# tar -xvf zabbix-4.0.5.tar.gz

[root@zabbix101 iso]# yum -y install zlib-devel pcre-devel openssl-devel gcc-c++ libxml2 libxml2-devel

[root@zabbix101 iso]# useradd -s /sbin/nologin zabbix

[root@zabbix101 zabbix-4.0.5]# ./configure --prefix=/usr/local/zabbix --enable-server --enable-agent --with-mysql=/usr/bin/mysql_config --enable-ipv6 --with-net-snmp --with-libcurl --with-libxml2 --with-net-snmp

// --enable-server安装部署zabbix服务器端软件

// --enable-agent安装部署zabbix被监控端软件

// --enable-proxy安装部署zabbix代理相关软件

// --with-mysql配置mysql_config路径

// --with-net-snmp允许zabbix通过snmp协议监控其他设备

// --with-libcurl安装相关curl库文件,这样zabbix就可以通过curl连接http等服务,测试被监控主机服务的状态

//自Zabbix 2.2.0起,支持虚拟机监视所需的--with-libcurl和--with-libxml2配置选项。

[root@zabbix101 zabbix-4.0.5]# make install

[root@zabbix101 ~]# vim /usr/local/zabbix/etc/zabbix_server.conf

DBHost=localhost

//数据库主机,默认该行被注释

DBName=zabbix

//设置数据库名称

DBUser=zabbix

//设置数据库账户

DBPassword=zabbix

//设置数据库密码,默认该行被注释

LogFile=/tmp/zabbix_server.log    

//设置日志,仅查看以下即可

2)初始化数据库

[root@zabbix101 zabbix-4.0.5]# mysql

MariaDB [(none)]> create database zabbix character set utf8;

MariaDB [(none)]> grant all on zabbix.* to zabbix@'localhost' identified by 'zabbix';

[root@zabbix101 mysql]# pwd

/iso/zabbix-4.0.5/database/mysql

[root@zabbix101 mysql]# mysql -uzabbix -pzabbix zabbix < schema.sql

[root@zabbix101 mysql]# mysql -uzabbix -pzabbix zabbix < images.sql

[root@zabbix101 mysql]# mysql -uzabbix -pzabbix zabbix < data.sql

[root@zabbix101 mysql]# cd /iso/zabbix-4.0.5/frontends/php/

[root@zabbix101 php]# cp -r * /usr/local/nginx/html/

[root@zabbix101 php]# chown -R nginx:nginx /usr/local/nginx/html/

3)启动并访问

[root@zabbix101 ~]# /usr/local/zabbix/sbin/zabbix_server -c /usr/local/zabbix/etc/zabbix_server.conf

[root@zabbix101 ~]# ss -tunlp | grep :10051

tcp    LISTEN    0      128      *:10051   .......

提示:如果是因为配置文件不对,导致服务无法启动时,不要重复执行zabbix_server,

一定要先使用killall zabbix_server关闭服务后,再重新启动一次。

[root@zabbix101 ~]# vim /usr/local/zabbix/etc/zabbix_agentd.conf

Server=127.0.0.1,192.168.68.101                  //允许哪些主机监控本机

ServerActive=127.0.0.1,192.168.68.101               //允许哪些主机通过主动模式监控本机

Hostname=zabbix_server                        //设置本机主机名

LogFile=/tmp/zabbix_server.log                    //设置日志文件

UnsafeUserParameters=1                        //是否允许自定义key

[root@zabbix101 ~]# /usr/local/zabbix/sbin/zabbix_agentd -c /usr/local/zabbix/etc/zabbix_agentd.conf

[root@zabbix101 ~]# ss -tunlp | grep zabbix_agent

tcp    LISTEN    0      128      *:10050 ......

提示:如果是因为配置文件不对,导致服务无法启动时,不要重复执行zabbix_agentd,

一定要先使用killall zabbix_agentd关闭服务后,再重新启动一次。

浏览器访问http://192.168.68.101/index.php

下载配置文件到下载放到对应路径下即

[root@zabbix101 ~]# ls /usr/local/nginx/html/conf/zabbix.conf.php

/usr/local/nginx/html/conf/zabbix.conf.php

然后点击下一步如下图

4,客户端安装

[root@web50 iso]# yum -y install gcc pcre-devel

[root@web50 ~]# useradd -s /sbin/nologin zabbix

[root@web50 iso]# tar -xvf zabbix-4.0.5.tar.gz

[root@web50 iso]# cd zabbix-4.0.5

[root@web50 zabbix-4.0.5]# ./configure --enable-agent

[root@web50 zabbix-4.0.5]# make install

[root@web50 ~]# vim /usr/local/etc/zabbix_agentd.conf

Server=127.0.0.1,192.168.68.101                //谁可以监控本机(被动监控模式)

ServerActive=127.0.0.1,192.168.68.101                  //谁可以监控本机(主动监控模式)

Hostname=zabbixclient_web50                    //被监控端自己的主机名

EnableRemoteCommands=1    

//监控异常后,是否允许服务器远程过来执行命令,如重启某个服务

UnsafeUserParameters=1                                 //是否允许自定义key监控

[root@web50 ~]# zabbix_agentd

[root@web50 ~]# ss -tunlp | grep zabbix_agentd

tcp    LISTEN    0      128      *:10050 。。。。

5,添加受监控主机到服务端上

总结

本次教程主要分享简单的zabbix搭建与使用,下一篇将和大家分享zabbix从安装到应用(实战篇)

温馨提示

zabbix安装配置界面点击next step没反应

修改/var/lib/php/session/宿主或者添加777权限


看官福利:


结束语:

更多精彩内容持续更新中,关注我,有你更精彩。

上一篇 下一篇

猜你喜欢

热点阅读