参考官方文档
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权限
看官福利:
结束语:
更多精彩内容持续更新中,关注我,有你更精彩。
网友评论