首页 > 代码库 > zabbix
zabbix
目录规划:
Nginx 目录: /usr/local/nginx/
MySQL 目录 : /usr/local/mysql/
MySQL数据库所在目录:/usr/local/mysql/var/
PHP目录 : /usr/local/php/
PHPMyAdmin目录 : /home/wwwroot/default/phpmyadmin/
默认网站目录 : /home/wwwroot/default/
Nginx日志目录:/home/wwwlogs/
/root/vhost.sh添加的虚拟主机配置文件所在目录:/usr/local/nginx/conf/vhost/
Nginx主配置(默认虚拟主机)文件:/usr/local/nginx/conf/nginx.conf
添加的虚拟主机配置文件:/usr/local/nginx/conf/vhost/域名.conf
MySQL配置文件:/etc/my.cnf
PHP配置文件:/usr/local/php/etc/php.ini
php-fpm配置文件:/usr/local/php/etc/php-fpm.conf
LNMPA相关目录文件位置
Apache目录:/usr/local/apache/
Apache配置文件:/usr/local/apache/conf/httpd.conf
Apache虚拟主机配置文件目录:/usr/local/apache/conf/vhost/
Apache默认虚拟主机配置文件:/usr/local/apache/conf/extra/httpd-vhosts.conf
虚拟主机配置文件名称:/usr/local/apache/conf/vhost/域名.conf
网站路径/home/wwwroot/default
zabbix安装目录/etc/zabbix/
/usr/local/php/etc/php.ini
/etc/zabbix/zabbix_server.conf (DBSocket=/tmp/mysql.sock)
/home/wwwroot/default/zabbix/conf/zabbix.conf.php
1.安装centos7.0X64操作系统
2.安装一键部署LNMP http://lnmp.org/
用SecureCRT的rz(yum install lrzsz )命令上传到/home/下根据官方脚本和步骤完成LNMPA
测试 curl -s http://localhost | grep lnmp
得到<a href="http://nginx.com/">nginx.com</a>.</p> 则说明部署成功
停止服务 /usr/local/nginx-1.11.1/sbin/nginx -s stop
重启服务 /usr/local/nginx-1.11.1/sbin/nginx -s reload
3.安装Zabbix3.0
# groupadd zabbix
# useradd -g zabbix zabbix
rpm -ivh http://repo.zabbix.com/zabbix/3.0/rhel/7/x86_64/zabbix-release-3.0-1.el7.noarch.rpm #配置zabbix的yum库
yum install zabbix-server-mysql zabbix-web-mysql zabbix-agent /y
mysql -uroot -p
mysql> create database zabbix character set utf8 collate utf8_bin;mysql> grant all privileges on zabbix.* to zabbix@localhost identified by ‘zabbix‘;mysql> quit;
cd /usr/share/doc/zabbix-server-mysql-3.0.7/
zcat create.sql.gz | mysql -uroot zabbix -p
vi /etc/zabbix/zabbix_server.conf
修改
DBHost=localhostDBName=zabbixDBUser=zabbixDBPassword=zabbix
保存查看: grep -v ‘^#‘ /etc/zabbix/zabbix_server.conf | grep -v ‘^$‘
问题1:如果出现启动失败,如下所示
[root@test ~]# systemctl start zabbix-serverJob for zabbix-server.service failed because a fatal signal was delivered to the control process. See "systemctl status zabbix-server.service" and "journalctl -xe" for details.
解决方法:先检查selinux是否关闭,
查看SELinux状态:
1、/usr/sbin/sestatus -v ##如果SELinux status参数为enabled即为开启状态
SELinux status: enabled
2、getenforce ##也可以用这个命令检查
关闭SELinux:
1、临时关闭(不用重启机器):
setenforce 0 ##设置SELinux 成为permissive模式
##setenforce 1 设置SELinux 成为enforcing模式
2、修改配置文件需要重启机器:
修改/etc/selinux/config 文件
将SELINUX=enforcing改为SELINUX=disabled
重启机器查看服务是否启动
问题2:tail /var/log/zabbix/zabbix_server.log -f
没有发现mysql.sock在/var/lib/mysql/mysql.sock,由于mysql是安装的LNMP一键部署在/tmp/mysql.sock(/etc/my.cnf文件会写mysql.sock的位置),所以vi /etc/zabbix/zabbix_server.conf中去掉DBSocket=/tmp/mysql.sock前面的#号即可。
服务起来了
Cp /usr/share/zabbix /home/wwwroot/default/zabbix
访问http://10.1.20.100/zabbix 提示404,原因是LNMP的wwwroot下缺少zabbix目录,
从官方下载源码包zabbix-3.0.7.tar.gz,RZ到/home, tar -zxvf zabbix-3.0.7.tar.gz解压,cp -rf cp -rf /home/zabbix-3.0.7/frontends/php /home/wwwroot/default/zabbix 复制php目录为zabbix目录,再次访问即可打开zabbix初始化web界面。
检查不通过
需要 vi /usr/local/php/etc/php.ini 修改相应的值即可
service php-fpm restart重启php服务(或者用lnmp php-fpm restart)
刷新网页即可通过检查,一路下一步
接下来报错无法写入配置文件,手动下载该文件复制到
刷新页面即可完成
使用Admin/zabbix登录系统
登录后修改语言为中文,保存刷新页面即变中文
Agent的配置文件
shell# egrep -v "(#|^$)" /etc/zabbix/zabbix_agentd.conf
LogFile=/var/log/zabbix/zabbix_agentd.log
EnableRemoteCommands=0
Server=192.168.2.61 #Zabbix-Server端的IP地址
StartAgents=8
ServerActive=10.1.2.61:10051 #Zabbix-Server端的IP地址
Hostname=node1
Timeout=30
Include=/etc/zabbix/zabbix_agentd.conf.d/ #子配置文件路径
UnsafeUserParameters=1 #自定义的Key中可以包括特殊字符
从http://www.zabbix.com/download.php下载tar数据包,RZ到/home/
tar -zxvf zabbix-3.0.0.tar.gz
为了安全考虑 zabbix 只使用普通用户运行,假如你当前用户叫 ttlsa,那么你运行他,他便使用 ttlsa 身份运行。但是如果你在 root 环境下运行 zabbix,那么 zabbix 将会主动尝试以 zabbix 身份来运行。但是如果你的系统没有名叫zabbix 的用户,你需要创建一个用户,如下:
# groupadd zabbix
# useradd -g zabbix zabbix
#创建数据库zabbix 并将数据库授权给zabbix用户
shell> mysql -uroot -p<password> mysql> create database zabbix character set utf8 collate utf8_bin;mysql> grant all privileges on zabbix.* to zabbix@localhost identified by ‘zabbix‘;mysql> quit;
#分别使用模板文件schema.sql、images.sql、data.sql在数据库zabbix中创建表(过程需要耐心等待)
shell>cd /home/zabbix-3.0.3/database/mysql
mysql -uzabbix -pzabbix zabbix < schema.sql
mysql -uzabbix -pzabbix zabbix < images.sql
mysql -uzabbix -pzabbix zabbix < data.sql
编译和安装
Cd /home/zabbix-3.0.3
./configure --prefix=/usr/local/zabbix --enable-server --enable-agent --with-mysql --enable-ipv6 --with-net-snmp --with-libcurl --with-libxml2
报错configure: error: MySQL library not found
在CentOS系统中,安装zabbix进行configure时会遇到以下4个主要问题
1 configure: error: MySQL library not found
the problem is not installed mysql-devel
#yum install mysql-devel
2 configure: error: Jabber library not found
the problem is not installed jabber lib
#wget http://iksemel.googlecode.com/files/iksemel-1.4.tar.gz
下载完成后解压、配置、安装:
tar zxvf iksemel-1.4.tar.gz
cd iksemel-1.4
configure
make
make install
之后对zabbix进行configure还是会遇到这个问题,那么将jabber目录指定即可:#./configure --enable-server --enable-agent --with-mysql --with-net-snmp --with-jabber=/usr/local/ --with-libcurl
3 configure: error: Not found curl Library
#yum install curl-devel (此项未经测试)
4 configure: error : Not found NET-SNMP library
yum install net-snmp-devel
5.本人用编译方式安装的MySQL ,用编译安装zabbix
报checking for mysql_config... configure: error: MySQL library not found
用--with-mysql=/usr/local/mysql/也不行
由“mysql_config... /usr/local/mysql/”得到启发
查找mysql_config
#find / -name "mysql_config*"
/usr/local/mysql/bin/mysql_config
我把--with-mysql改成
--with-mysql=/usr/local/mysql/bin/mysql_config
正常通过。
看完上面四点是不是一起也遇到相同的问题,那就按上的办法解决吧!
Make
Make install
zabbix