-
Notifications
You must be signed in to change notification settings - Fork 4
zabbix相关
下载对应linux os的安装包:
http://www.zabbix.com/download.php
我们的生产环境使用的是3.0.4。
./configure --prefix=/usr/local/zabbix-3.0.4/ --enable-server --enable-agent --with-mysql --with-net-snmp --with-libcurl --with-libxml2
prefix:装到对应目录,安装后可将源码删除。 --enable-server --enable-agent:都要有。
为了安全考虑 zabbix 只使用普通用户运行,假如你当前用户叫 ttlsa,那么你运行他,他便使用 ttlsa 身份运行。但是如果你在 root 环境下运行 zabbix,那么 zabbix 将会主动使用 zabbix 用户来运行。但是如果你的系统没有名叫 zabbix 的用户,你需要创建一个用户,如下:
useradd: cannot open /etc/passwd 解决方式:chattr -i /etc/passwd
create database zabbix default charset utf8;
mysql -uroot --socket=/data1/mysql/mysql.sock zabbix < database/mysql/schema.sql
如果你仅仅是初始化 proxy 的数据库,那么够了。如果初始化 server,那么接着导入下面两个 sql
mysql -uroot --socket=/data1/mysql/mysql.sock zabbix < database/mysql/images.sql
mysql -uroot --socket=/data1/mysql/mysql.sock zabbix < database/mysql/data.sql
/usr/loca/zabbix-xx/etc/zabbix_server.conf,配置如下类似内容:
LogFile=/data1/logs/zabbix-2.4.7/zabbix_server.log
DBName=zabbix
DBSchema=zabbix
DBUser=root
DBPassword=
DBSocket=/data1/mysql/mysql.sock
DBPort=3306
JavaGateway=127.0.0.1
JavaGatewayPort=10052
StartJavaPollers=5
配置样例文件
修改log位置,zabbix_server.conf: LogFile=/data/logs/zabbix/zabbix_agentd.log
/usr/local/zabbix/sbin/zabbix_server
修改zabbix目录文件的权限,用户组合用户都要有执行权限
QA2.connection to database 'zabbix' failed: [2002] Can't connect to local MySQL server through socket
需要修改mysql目录的other权限可写,因为mysql的owner和zabbix的owner有可能不一样,需要开权限。
从下载包中copy frontends/php到/data/apps下,改名为zabbix,同时将zabbix改为: chmod -R 755 zabbix,chown nginx:nginx -R zabbix 因为php默认使用apache:apace,且static file不走php,直接是nginx去读取,只有动态php文件才是Php-fpm解析后返回给nginx,所以要对权限和拥有者修改。
cp -rp frontends/php /data/apps/zabbix-web
官网下载nginx 最新稳定版:1.8.0
./configure --prefix=/usr/local/nginx-1.8.0/
修改nginx.conf第一行 user nobody 改为 user nginx
user nginx;
yum install php php-fpm
/etc/init.d/php-fpm restart
修改/etc/php-fpm.d/www.conf中的user,group为nginx
进入http://123.162.190.218/setup.php进行配置:
php param validate:
大多数配置都在/etc/php.ini文件中
个别项目说明:
PHP databases support gd my 需要安装 php-gd php-mysql php-bcmath php-mbstring php-xml
修改后需要重启:/etc/rc.d/init.d/php-fpm restart
然而,安装到这,出了个灵异事件:
Check of pre-requisites (也就是第二步),无任何报错的情况下,点击next ,直接返回welcome(第一步)
Configure DB connection(第三步)压根就访问不了!
我也遇到第一步和第二步循环的问题。 我是一台新部署的lnmp环境,部署的时候我改了php进程的执行用户是nginx,但是session的文件目录是root:apache. 我把目录拥有者改为:root:nginx顺利进入第三步。
/var/lib/php下的session权限改为root:nginx
test
curl 'http://localhost:80/test.txt' 加静态文件测试
curl|wget 'http://locahost:80/zabbix'
zabbix-server默认端口是10051.
./configure --prefix=/usr/local/zabbix-3.0.4/ --enable-agent --with-net-snmp --with-libcurl --with-libxml2
与zabbix-server的安装类似。
修改zabbix_agentd.conf文件中的配置: Hostname=当前机器名 ServerActive=zabbix的server端 Server=zabbix的server端
zabbix-agent默认端口是10050.
LogFile=/data/logs/zabbix/zabbix_agentd.log
用于获取mysql性能指标数据,你需要修改相应的数据库信息
vim /usr/local/zabbix-2.4.4/scripts/chk_mysql.sh
脚本如下:
https://github.com/hepyu/lcp-java/blob/master/doc/zabbix/chk_mysql.sh
#获取mysql版本
UserParameter=mysql.version,mysql -V
#获取mysql性能指标,这个是上面定义好的脚本
UserParameter=mysql.status[*],/usr/local/zabbix-2.4.4/scripts/chk_mysql.sh $1
#获取mysql运行状态
UserParameter=mysql.ping,mysqladmin -uzabbix -p123456 -P3306 -h127.0.0.1 ping | grep -c alive
备注:请注意修改你的数据库信息,以及zabbix路径信息,重启zabbix
首先新建一个模板
1、探索规则名称为Network interface discovery
键值为net.if.discovery
2、filter处要把宏给添加上{#IFNAME} matches @Network interfaces for discovery
3、新建项目原型
创建网卡进来的流量的监控项
Incoming network traffic on {#IFNAME}
zabbix代理
net.if.in[{#IFNAME}]
数字的无正负的
十进制
bps
自定倍数为8
储存值改为差量每秒速率
新建网卡出去的流量监控项
Outgoing network traffic on {#IFNAME}
net.if.out[{#IFNAME}]
数字的无正负的
十进制
bps
自定倍数为8
储存值改为差量每秒速率
新建图形原型
名称Network traffic on {#IFNAME}
项目里添加项目原型即可
创建完模板之后就可以把主机添加到模板中去了,就可以实现网卡的自动发现并进行监控了
ps -ef |grep zabbix|grep -v grep |awk '{print $2}' |xargs kill -9
zabbix_agentd
zabbix_server
QA1.在zabix的主机监控状态列表里,机器显示zabbix不work,提示:
Received empty response from Zabbix Agent at [x.x.x.x]. Assuming that agent dropped connection because of access permissions
agent的版本一定要和服务器版本的是一致的
Q2.mysql图表中的sh脚本没执行。
看sh脚本的权限是否有问题,路径是否有问题,可以在zabbix对应的Item处查看具体错误信息。