Centos7编译安装zabbix-5.0server端(超级详细)与配置并且启动Agent
⽂章⽬录
⼀、编译安装zabbix
1.环境
2.编译安装过程
打算将zabbix安装在~/opt⽬录下,将源码压缩包移动到~/opt⽬录下。。。
①解压源码包
[ops@test1 ~/opt]$ tar -zxvf zabbix-5.0.
[ops@test1 ~/opt]$ cd zabbix-5.0.7/
②安装依赖包
[ops@test1 ~/opt/zabbix-5.0.7]$ sudo yum -y install unixODBC-devel net-snmp-devel libevent-devel libxml2-devel libcurl-devel java-1.6.0-openjdk-devel
如果配置添加了--enable-java,则需要安装依赖包java-1.6.0-openjdk-devel
③编译安装
[ops@test1 ~/opt/zabbix-5.0.7]$ ./configure --prefix=/home/ops/opt/zabbix-server --enable-server --enable-agent --enable-proxy --with-mysql=/home/ops/opt/mysql/bin/mysql_config --with-net-snmp --with-libcurl --with-libxml2 --with-unixodbc --enable-java
--prefix=/home/ops/opt/zabbix-server    //编译安装路径
mysql配置与安装过程
--enable-server          //启动服务端 ,安装部署zabbix服务器端软件
--enable-agent          //安装部署zabbix被监控端软件
--enable-proxy          //安装部署zabbix代理相关软件
--with-mysql=/home/ops/opt/mysql/bin/mysql_config  //编译连接mysql相关依赖包,并指定mysql_config的路径
--with-net-snmp    //启动snmp相关,⽤于snmp监控设备,允许zabbix通过snmp协议监控其他设备
-
-with-libcurl      //安装相关curl库⽂件,这样zabbix就可以通过curl连接http等服务,测试被监控主机服务的状态
--with-libxml2      //启动xml相关
--with-unixodbc    //启动odbc相关,⽤于监控数据库
--enable-java      //启动java相关
[ops@test1 ~/opt/zabbix-5.0.7]$ make && make install
④初始化数据库信息,创建数据库,上线Zabbix的Web页⾯
数据库⽂件在解压后的zabbix-5.0.7⽬录下,具体路径:zabbix-5.0.2/database/mysql,分别按顺序导⼊:
schema.sql
images.sql
data.sql
[ops@test1 ~/opt/zabbix-5.0.7]$ mysql -uroot -p’123456’
mysql> create database zabbix_server character set UTF8 collate utf8_bin; //创建数据库,⽀持中⽂字符集,以及指定排序规则utf8_bin
#mysql> grant all on zabbix.* to zabbix@‘localhost’ identified by ‘zabbix’;
//创建可以访问数据库的账户与密码,我使⽤的是root⽤户,所以我就不需要这⼀步了
[ops@test1 ~/opt/zabbix-5.0.7]$ mysql -uroot -p’123456’ zabbix_server < database/mysql/schema.sql
[ops@test1 ~/opt/zabbix-5.0.7]$ mysql -uroot -p’123456’ zabbix_server < database/mysql/images.sql
[ops@test1 ~/opt/zabbix-5.0.7]$ mysql -uroot -p’123456’ zabbix_server < database/mysql/data.sql
⑤配置f配置⽂件
[ops@test1 ~/opt/zabbix-5.0.7]$ cd /home/ops/opt/zabbix-server/
[ops@test1 ~/opt/zabbix-server]$ vim etc/f
搜索以下⼏个字段修改:
DBHost=localhost
DBName=zabbix_server          //数据库名
DBUser=root                  //连接数据库的⽤户
DBPassword=123456            //密码
DBSocket=/home/ops/opt/mysql/mysql.sock                //数据库sock⽂件路径
DBPort=3306                  //端⼝
LogFile=/home/ops/opt/zabbix_server/zabbix_server.log  //⽇志⽂件
PidFile=/home/ops/opt/zabbix_server/zabbix_server.pid  //保存pid的⽂件
SocketDir=/home/ops/opt/zabbix                        //保存sock⽂件的⽬录
⑥将mysql lib⽬录添加到lib环境变量中
[ops@test1 ~/opt/zabbix-server]$ echo ‘/home/ops/opt/mysql/lib/’ > /etc/f.f #因为使⽤的是普通⽤户安装,所以需要切换到root⽤户⾃⾏这⼀步,要不没权限,echo命令不⽀持sudo
[ops@test1 ~/opt/zabbix-server]$ ldconfig -v
⑦启动zabbix-server
[ops@test1 ~/opt/zabbix-server]$ /home/ops/opt/zabbix-server/sbin/zabbix_server -c /home/ops/opt/zabbix-
server/etc/f
如果遇到报错:/home/ops/opt/zabbix/sbin/zabbix_server: error while loading shared libraries: libmysqlclient.so.20: cannot open shared object file: No such file or directory
是因为前⾯将mysql lib⽬录添加到lib环境变量中的时候命令输⼊有问题,注意中英⽂字符 ‘/home/ops/opt/mysql/lib/’,其中单引号是英⽂符号才是对的
⑧配置zabbix-server前端界⾯
前端界⾯在zabbix源码包下⾯的ui⽬录当中,复制前端⽂件到nginx的html中
[ops@test1 ~/opt/zabbix-server]$ cd /home/ops/opt/zabbix-5.0.7/ui
[ops@test1 ~/opt/zabbix-5.0.7/ui]$ cp -r * /home/ops/opt/nginx/html/
⑨配置nginx
开启nginx服务的php⽀持
[ops@test1 ~/opt/zabbix-server]$ vim /home/ops/opt/nginx/f
上⾯配置已省略:
    location / {
root  html;
index  index.php index.htm;
}
location ~ \.php$ {
root          html;
fastcgi_pass  127.0.0.1:9000;
fastcgi_index  index.php;
fastcgi_param  SCRIPT_FILENAME  /scripts$fastcgi_script_name;
include        f;
}
⑩ 启动nginx
[ops@test1 ~/opt/zabbix-server]$ /home/ops/opt/nginx/sbin/nginx
当然,如果做了软链接可以直接使⽤软链接启动就好
11.配置php-fpm
编辑php.ini ⽂件,这个⽂件是在安装php的时候指定的,例如我的php.ini⽂件路径是/home/ops/opt/php/lib/php.ini
[ops@test1 ~/opt/zabbix-server]$ vim /home/ops/opt/php/lib/php.ini
修改以下参数:
post_max_size = 16M
max_execution_time = 300
max_input_time = 300
date.timezone =Asia/Shanghai
mysqli.default_socket = /home/ops/opt/mysql/mysql.sock    #此sock⽂件按mysql实际运⾏⽣成的sock⽂件为准
pdo_mysql.default_socket= /home/ops/opt/mysql/mysql.sock  #此sock⽂件按mysql实际运⾏⽣成的sock⽂件为准
12.重新启动php-fpm
[ops@test1 ~/opt/zabbix-server]$ sudo systemctl restart php-fpm
13.打开浏览器,访问zabbix
直接点Next step即可
没有显⽰红⾊字体的Fail则表⽰正确,可以直接点击Next step即可,但是如果出现红⾊字体的Fail,如下图:
这样说明php.ini⽂件配置有问题,需要将错误的字段修改post_max_size = 16M
max_execution_time = 300
max_input_time = 300
date.timezone =Asia/Shanghai(这个也可以写其他的,⼀般使⽤这个)
报错处理完毕之后点击Next step
在这⾥也遇到⼀个坑,点击Next step⼀直报错,不能跳到下⼀步,报错截图如下:
原因:这是因为创建zabbix数据库(上⾯创建的zabbix_server库)的时候字符集编码问题造成的
解决办法:删除mysql缘由的zabbix_server数据库,重新创建zabbix_server数据库,注意使⽤命令:create database zabbix_server character set UTF8 collate utf8_bin;
新建zabbix_server数据库之后重新导⼊schema.sql、images.sql、data.sql⽂件
处理完之后点击Next step进⾏下⼀步
这⾥正确填写数据库连接信息,填写完之后点击Next step
⼆、修改agent配置⽂件,启动Agent
①修改配置
[ops@test1 ~/opt/zabbix-server]$ cd /home/ops/opt/zabbix/etc
[ops@test1 ~/opt/zabbix-server/etc]$ vim f
修改如下配置:
Server=127.0.0.1            //谁可以监控本机(被动监控模式),如果有多个主机可以监控本机,则填写ip使⽤逗号隔开,例如:127.0.0.1,192.168.2.5 ServerActive=127.0.0.1      //谁可以监控本机(主动监控模式)
Hostname=web1  //被监控端⾃⼰的主机名,在zabbix web页⾯Monitoring->Configuration->Hosts 页⾯更改Host name和f⾥⾯的Hostnam e⼀样
#EnableRemoteCommands=1      //监控异常后,是否允许服务器远程过来执⾏命令,如重启某个服务
UnsafeUserParameters=1      //是否允许⾃定义key监控
②启动Agent
[ops@test1 ~/opt/zabbix-server/etc]$ /home/ops/opt/zabbix/sbin/zabbix_agentd -c
/home/ops/opt/zabbix/etc/f

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。