MySQL离线安装教程:https://www.cnblogs.com/liuguojun/p/12061093.html
PHP离线安装教程:https://www.cnblogs.com/liuguojun/p/12075611.html
zabbix理论知识:https://www.cnblogs.com/liuguojun/p/12075611.html
学习出自:https://blog.51cto.com/cloumn/blog/536
整个学习过程word文档:https://pan.baidu.com/s/1nWyUiPePuu8K1G2zuJlitA
提取码:fv1w
本文出于学习原因都在一个系统上搭建zabbix server、zabbix agent和zabbix GUI
一、 安装Nginx服务
1、下载Nginx的tar.gz包
下载地址:http://nginx.org/download/nginx-1.16.1.tar.gz
2、上传至Centos7服务器
3、解压文件
[root@localhost nginx]# tar -zxvf nginx-1.16.1.tar.gz
[root@localhost nginx]# rm nginx-1.16.1.tar.gz
[root@localhost nginx]# cd nginx-1.16.1/
[root@localhost nginx-1.16.1]# ./configure --user=www --group=www --prefix=/usr/local/nginx --sbin-path=/usr/local/nginx/sbin/nginx --conf-path=/usr/local/nginx/conf/nginx.conf --error-log-path=/usr/local/nginx/logs/error.log --http-log-path=/usr/local/nginx/logs/access.log --pid-path=/var/run/nginx.pid --lock-path=/var/lock/subsys/nginx --with-http_stub_status_module --with-http_ssl_module --with-http_gzip_static_module --with-pcre
[root@localhost nginx-1.16.1]# make
[root@localhost nginx-1.16.1]# make install
4、配置lnmp环境
①修改nginx配置文件,添加php-fpm的整合配置,这里仅仅修改了与php-fpm整合的配置
[root@localhost conf]# vim /usr/local/nginx/conf/nginx.conf
内容如下:
location ~ \.php$ {
root html;
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME /usr/local/nginx/html$fastcgi_script_name;
include fastcgi_params;
②将配置文件中的几个参数修改:
error_log /usr/local/nginx/logs/error.log;
error_log /usr/local/nginx/logs/error.log notice;
error_log /usr/local/nginx/logs/error.log info;
pid /usr/local/nginx/logs/nginx.pid;
5、添加systemctl服务启动文件
[Unit]
Description=Nginx
After=syslog.target network.target
[Service]
Type=simple
PIDFile=/usr/local/nginx/logs/nginx.pid
ExecStart=/usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf
ExecReload=/usr/local/nginx/sbin/nginx -s stop -c /usr/local/nginx/conf/nginx.conf
ExecStop=/usr/local/nginx/sbin/nginx -s reload -c /usr/local/nginx/conf/nginx.conf
[Install]
WantedBy=multi-user.target
然后使用[root@localhost system]# systemctl daemon-reload重新加载配置文件。
6、测试nginx服务器
二、 安装Zabbix server
1、 安装依赖
[root@localhost ~]# yum -y install net-snmp net-snmp-devel curl curl-devel libxml2 libevent libevent-devel
2、创建一个普通用户用于启动Zabbix的守护进程
[root@localhost ~]# groupadd --system zabbix #创建一个系统组
[root@localhost ~]# useradd --system -g zabbix -d /usr/lib/zabbix -s /sbin/nologin -c "Zabbix Monitoring system" Zabbix
注释:--system 创建一个系统账户 -g 指定用户所属组 -d 指定用户主目录 -s 指定用户登录shell -c 关于登录的描述(用户全名)
[root@localhost ~]# mkdir -m u=rwx,g=rwx,o= -p /usr/lib/zabbix
[root@localhost lib]# chown zabbix:zabbix /usr/lib/Zabbix
3、开始编译安装zabbix
归档解压:[root@localhost zabbix]# tar -zxvf zabbix-4.4.4.tar.gz
配置源:[root@localhost zabbix-4.4.4]# ./configure --prefix=/usr/local/zabbix --with-mysql --with-net-snmp --with-libcurl --enable-server --enable-agent --enable-proxy --with-libxml2 --enable-ipv6
出错:configure: error: Unable to use libevent (libevent check failed)
这是因为本地源里面没有这个安装包,导致前面准备依赖的时候没有安装到,去网上下载个rpm包安装即可。
参数介绍:
--with-mysql:表示启用Mysql作为后端存储,如果Mysql客户端类库不在默认的位置(rpm包方式安装的Mysql,Mysql客户端类库在默认位置,因此只需指定“—with-mysql”即可,无需指定具体路径),需要在mysql的配置文件中指定路径,指定方法是指定mysql_config的路径,例如:如果源码安装的mysql,安装路径为/usr/local/mysql,就可以这么指定:“—with-mysql=/usr/local/mysql/bin/mysql_config”。
--with-net-snmp:用于支持snmp监控所需要的组件
--with-libcurl:用于支持wen监控,vmware监控及smtp认证所需要的组件,对于smtp认证,需要7.20.0或以上版本。
--with-libxml2:用于支持vmware监控所需要的组件
--enable-server:启用Zabbix server组件
--enable-agent:启用Zabbix agent组件
--enable-proxy:启用Zabbix proxy组件
编译:[root@localhost zabbix-4.4.4]# make
编译安装:[root@localhost zabbix-4.4.4]# make install
4、创建软链接
安装完成后:由于Zabbix启动脚本的默认指向是/usr/local/sbin路径,而我们Zabbix安装路径是/usr/local/zabbix,因此,需要提前创建如下软连接:
[root@localhost sbin]# ln -s /usr/local/zabbix/sbin/* /usr/local/sbin/
[root@localhost sbin]# ln -s /usr/local/zabbix/bin/* /usr/local/bin/
5、创建数据库和数据库用户,并导入zabbix表信息
对于Zabbix server和proxy守护进程以及Zabbix前端,都需要连接到一个数据库。Zabbix agent不需要数据库的支持。因此需要先创建一个用户和数据库,并导入数据库对应的表。
①登录数据库创建一个zabbix数据库和zabbix用户
[root@localhost ~]# mysql -u root -p
#Zabbix服务器需要字符集utf8和utf8_bin排序规则才能与MySQL数据库正常工作。
mysql> create database zabbix character set utf8 collate utf8_bin;
mysql> use zabbix;
mysql> grant all privileges on zabbix.* to 'zabbix'@'localhost' identified by 'zabbix';
mysql> quit
②接下来导入zabbix的表信息,需要执行三个sql文件,sql文件在Zabbix源码包中database/mysql目录下。
#进入这个目录(我的源码包放在/home目录下)
[root@localhost home]# cd /home/zabbix/zabbix-4.4.4/database/mysql/
#登录用户
[root@localhost mysql]# mysql -u zabbix -p
mysql> use zabbix; #切换数据库
mysql> source schema.sql; #导入第一个zabbix表
mysql> source images.sql; #导入第二个zabbix表
mysql> source data.sql; #导入第三个zabbix表
6、配置zabbix-server配置文件
[root@localhost mysql]# cd /usr/local/zabbix/etc #注意路径(根据自己安装的目录)
[root@localhost etc]# cp -a zabbix_server.conf zabbix_server.conf.bak #备份
[root@localhost etc]# vim zabbix_server.conf #开始编辑配置文件
内容如下:
ListenPort=10051 #zabbix默认监听端口
LogFile=/tmp/zabbix_server.log #指定zabbix日志存储位置
DBHost=localhost #数据库地址(如果数据库在本机可不做修改)
DBName=Zabbix #数据库名(前面创建的数据库)
DBUser=Zabbix #用于连接数据库的用户名(前面创建的用户)
DBPassword=Zabbix #连接数据库密码
ListenIP=0.0.0.0 #zabbix server监听的IP地址(也就是zabbix server启动的监听端口对那些IP开放,Agentd为主动模式时,这个值建议设置为0.0.0.0)
StartPollers=5 #zabbix server启动时,启动Pollers(主动收集数据进程)的数量,数量越多,服务器吞吐能力越强,同时对系统资源消耗越大
StartTrappers=10 #zabbix启动时,启动trappers(负责处理agentd推送过来的数据的进程)的数量。Agentd为主动模式时,zabbix server需要将这个值设置的大一些
StartDiscoverers=10 #zabbix server启动时启动Discoverers的数量,如果zabbix监控报Discoverers进程繁忙时,需要提高这个值
AlertScriptsPath=/usr/local/zabbix/share/zabbix/alertscripts #zabbix server运行脚本的存放位置,一些供zabbix server使用的脚本都可以放在这里
7、添加管理维护Zabbix脚本并启动服务
[root@localhost zabbix]# cp -a /home/zabbix/zabbix-4.4.4/misc/init.d/fedora/core/zabbix_server /etc/init.d/zabbix_server
[root@localhost zabbix]# cp -a /home/zabbix/zabbix-4.4.4/misc/init.d/fedora/core/zabbix_ agentd /etc/init.d/zabbix_ agentd
添加脚本执行权限
[root@localhost init.d]# chmod +x zabbix_agentd
[root@localhost init.d]# chmod +x zabbix_server
添加开机启动
[root@localhost init.d]# chkconfig zabbix_server on
[root@localhost init.d]# chkconfig zabbix_agentd on
启动zabbix server服务
[root@localhost init.d]# ./zabbix_server start
一、 安装zabbix agent
这里使用rpm包安装zabbix agent,zabbix agent版本要和zabbix server保持一致
Zabbix agent和 Zabbix agentd的区别,请看链接
下载地址:
https://repo.zabbix.com/zabbix/4.4/rhel/7/x86_64/zabbix-agent-4.4.4-1.el7.x86_64.rpm
① 安装zabbix agent
[root@localhost zabbix]# rpm -ivh zabbix-agent-4.4.4-1.el7.x86_64.rpm
② 修改配置文件
配置文件位于:/etc/zabbix/下
[root@localhost zabbix]# cd /etc/zabbix/
[root@localhost zabbix]# cp -a zabbix_agentd.conf zabbix_agentd.conf.bak
[root@localhost zabbix]# vim zabbix_agentd.conf
内容如下:
LogFile=/var/log/zabbix/zabbix_agentd.log #zabbix agent日志文件路径
Server=127.0.0.1 #指定zabbix server服务器地址
StartAgents=3 #指定启动agentd进程数量,默认为3个(设置为0,表示关闭agentd的被动模式,这时Zabbix server主动来agent拉取数据)
ServerActive=127.0.0.1 #启用agentd的主动模式(zabbix agent主动推送数据到zabbix server),启用主动模式后,agentd将主动将收集的数据发送到zabbix server端,ServerActive后面指定的ip就是zabbix server端IP
Hostname=127.0.0.1 #需要监控的服务器的主机名或者IP地址,此选择的设置一定要和(服务器上配置的主机名)zabbix server(web)端主机配置对应的主机名一致
Include=/etc/zabbix/zabbix_agentd.d/*.conf #相关配置都可以放在此目录下,自动生效
UnsafeUserParameters=1 #启用agent端自定义item功能,设置此参数为1后,就可以使用UserParameter指令(UserParameter用于自定义item)
③ 开启zabbix agent服务
三、 安装zabbix GUI
Zabbix web是php代码编写的,所以需要php环境(前面已经搭建了lnmp环境)。
我们只需要将zabbix web安装代码放至在nginx下运行安装即可。
Zabbix web安装代码在源码包的frontends/php/目录下
① 将源码复制到nginx/html下,并修改名为zabbix
[root@localhost frontends]# cp -a php /usr/local/nginx/html/zabbix #注意nginx路径(根据你的安装路径修改)
② 开始安装zabbix GUI
[root@localhost frontends]# systemctl start php-fpm.service #开启php-fpm服务
[root@localhost frontends]# systemctl status php-fpm #查看php-fpm开启状态
[root@localhost frontends]# systemctl start mysql.server
[root@localhost frontends]# systemctl status mysql.service
[root@localhost frontends]# systemctl restart nginx.service
[root@localhost frontends]# systemctl status nginx.service
打开firefox浏览器输入地址:http://127.0.0.1/zabbix/setup.php
出现第一个界面
点击Next step
这里有一个错误,修改一下php配置文件
[root@localhost lib]# vim /usr/local/php/lib/php.ini
将date.timezone那行改为:date.timezone = Asia/Shanghai即可。
[root@localhost lib]# systemctl restart php-fpm.service #重启服务
再刷新界面,然后点击Next step
选择数据库类型-数据库地址-数据库端口-数据库名-登录数据库用户-登录数据库用户密码
这里:数据库类型选(mysql)-数据库地址(默认mysql在本机的话就输入127.0.0.1,输入localhost可能出现问题)-数据库端口(0表示使用默认端口)-数据库名、数据库用户以及数据库密码(都是你在搭建zabbix server时创建的数据库、创建的用户以及设置的密码)
然后点击Next step
这个步骤是配置zabbix server信息,输入zabbix server主机名(IP),以及端口等信息
然后点击Next step
这一步是确认配置信息,确认无误否点击Next Step
出现此页面,安装完成,点击finish
跳转到登陆界面,默认的zabbix平台登录的用户名为Admin,密码为zabbix
到此为止,zabbix GUI安装完成。
③ 修改显示界面语言
默认为英文界面,设置成中文界面步骤:
Administrator-Users-点击Admin-在Language项中选择Chinese(zh_CN)即可。