您的位置:首页 > 运维架构

运维基础——Zabbix入门及安装

2017-04-15 15:34 232 查看
zabbix是一个基于web界面的、提供分布式系统监视及网络监视功能的企业级开源解决方案

zabbix 由2部分组成:

zabbix server

zabbix agent

zabbix server可以通过SNMP、zabbix agent、ping、端口监视等方法提供对远程服务器/网络状态的监视,数据收集等功能,它可以运行在多个操作系统上。

试验环境

centos 7

服务端安装(编译安装方式)(自身也安装客户端)

LAMP环境

yum install php php-gd php-mysql php-bcmath php-mbstring php-xml curl curl-devel net-snmp   net-snmp-devel perl-DBI -y
yum install httpd mariadb*
yum install -y php-mysql.x86_64


zabbix需要php-mysql.x86_64,否则会出现php databases support off

数据库配置

systemctl start mariadb.service
mysql -u root -p
> create database zabbix character set utf8;
> insert into mysql.user(Host,User,Password)values('localhost','zabbix',password('zabbix'));
> flush privileges;
> grant all on zabbix.* to 'zabbix'@'127.0.0.1' identified by 'zabbix' with grant option;
> flush privileges;
> quit;


安装zabbix

wget http://nchc.dl.sourceforge.net/project/zabbix/ZABBIX%20Latest%20Stable/2.4.5/zabbix-2.4.5.tar.gz tar -zxvf zabbix-2.4.5.tar.gz
cd zabbix-2.4.5
./configure --with-mysql=/usr/bin/mysql_config --with-net-snmp --with-libcurl --enable-server --enable-agent --enable-proxy --prefix=/usr/local/zabbix
参数说明:
--prefix----> 指定zabbix安装目录
--enable-java java jvm监控支持
--enable-server----> 支持zabbix服务器
--enable-agent----> 支持zabbix代理
--enable-proxy----> 支持zabbix代理服务器
--with-libcurl----> 使用curl包
--with-net-snmp----> 使用net-snmp软件包,选择性地指定路径NET-SNMP配置
--with-mysql=/usr/bin/mysql_config 使用MySQL客户端库可以选择指定路径mysql_config
make
make install


注:如出现configure: error: MySQL library not found错误,是因为缺少mariadb-devel该软件包,解决方法是:

yum install mariadb-devel


mysql -u root -p
MariaDB [(none)]> use zabbix;
MariaDB [zabbix]> source /root/zabbix-2.4.5/database/mysql/schema.sql
MariaDB [zabbix]> source /root/zabbix-2.4.5/database/mysql/data.sql
MariaDB [zabbix]> source /root/zabbix-2.4.5/database/mysql/images.sql
MariaDB [zabbix]> quit


端口设置(可选)

cat /etc/services |grep zabbix
zabbix-agent    10050/tcp               # Zabbix Agent      //客户端
zabbix-agent    10050/udp               # Zabbix Agent
zabbix-trapper  10051/tcp               # Zabbix Trapper    //服务端
zabbix-trapper  10051/udp               # Zabbix Trapper


配置文件

mkdir -p /etc/zabbix
cp -r /root/zabbix-2.4.5/conf/* /etc/zabbix/
chown -R zabbix:zabbix /etc/zabbix
ln -s /usr/local/zabbix/etc /etc/zabbix/
ln -s /usr/local/zabbix/bin/* /usr/bin/
ln -s /usr/local/zabbix/sbin/* /usr/sbin/
vi /etc/zabbix/zabbix_server.conf


30:LogFile=/tmp/zabbix_server.log   ##日志文件地址
68:DBHost=localhost                  ##数据库主机
78:DBName=zabbix                     ##数据库名
94:DBUser=zabbix                     ##数据库用户名
102:DBPassword=zabbix                  ##数据库密码
282:ListenIP=127.0.0.1              ##数据库IP地址
425:AlertScriptsPath=/usr/local/zabbix/share/zabbix/alertscripts##zabbix
运行脚本存放目录


查看修改一的结果

cat /etc/zabbix/zabbix_server.conf | grep -n ^[^#]


vi /etc/zabbix/zabbix_agentd.conf


11:PidFile=/tmp/zabbix_agentd.pid           ##进程PID
21:LogFile=/tmp/zabbix_agentd.log           ##日志保存位置
59:EnableRemoteCommands=1                   ##允许执行远程命令
81:Server=127.0.0.1                         ##agent端的ip
122:ServerActive=127.0.0.1
133:Hostname=Zabbix server                  ##必须与zabbix创建的hostname相同
252:Include=/usr/local/etc/zabbix_agentd.conf.d/
265:UnsafeUserParameters=1                  ##启动自定义key


配置php.ini

vi /etc/php.ini


384:max_execution_time = 300
394:max_input_time = 300
405:memory_limit = 128M
800:upload_max_filesize = 2M
878:date.timezone = Asia/Shanghai
672:post_max_size = 28M


配置 web

cd /root/zabbix-2.4.5
cp -r frontends/php /var/www/html/zabbix
vi /etc/httpd/conf/httpd.conf


163:<IfModule dir_module>
164:     DirectoryIndex index.html index.php
165:</IfModule>


关闭SELinux

setenforce 0                       ##设置SELinux 成为permissive模式  (关闭SELinux)
setenforce 1                       ##设置SELinux 成为enforcing模式     (开启SELinux)




vi /etc/selinux/config
将SELINUX=enforcing 改为SELINUX=disabled
需重启机器


防火墙

/sbin/iptables -I INPUT -p tcp --dport 80 -j ACCEPT   写入修改


安装 web

systemctl start httpd.service


浏览:

http://ip/zabbix/setup.php



按提示操作操作。

当提示:



点击Download configuration file,放到指定的位置:

/var/www/html/zabbix/conf/zabbix.conf.php

点Retry。

安装完后,默认账号admin,密码zabbix。

添加开机启动脚本

cd zabbix-2.4.5/
cp misc/init.d/fedora/core5/zabbix_server /etc/rc.d/init.d/zabbix_server
cp misc/init.d/fedora/core5/zabbix_server /etc/rc.d/init.d/zabbix_agentd
chmod u+x /etc/rc.d/init.d/zabbix_server
chmod u+x /etc/rc.d/init.d/zabbix_agentd
chkconfig zabbix_server on
chkconfig zabbix_agentd on


添加zabbix用户

groupadd -g 130 zabbix
useradd -u 130 -g zabbix -c 'Zabbix monitoring' zabbix


启动zabbix server

/usr/local/zabbix/sbin/zabbix_server start
重启
service zabbix-server restart


启动zabbix agent

/usr/local/zabbix/sbin/zabbix_agentd start


zabbx3的一些命令

zabbix_agentd -p | grep uptime #列出items
#查看是否启动成功
netstat -nltp | grep zabbix
#启动
zabbix_agentd start


客户端安装zabbix_agentd

groupadd -g 1001 zabbix
useradd -u 1001 -g 1001 -s /sbin/nologin -M zabbix

wget http://mirrors.aliyun.com/zabbix/zabbix/3.2/rhel/7/x86_64/zabbix-agent-3.2.6-1.el7.x86_64.rpm rpm -ivh zabbix-agent-3.2.6-1.el7.x86_64.rpm
yum install zabbix-agent
# 配置
vi /etc/zabbix/zabbix_agentd.conf
# 修改 Server= ServerActive= Hostname=
# 在服务端添加相应Hostname
#启动
service zabbix-agent start
systemctl enable zabbix-agent 开机启动


防火墙设置:

服务端的10050 10051对客户端开放

客户端10050对服务端开放

示例:

-A INPUT -m state --state NEW --src 服务端ip -m udp -p udp --dport 10050 -j ACCEPT
-A INPUT -m state --state NEW --src 服务端ip -m tcp -p tcp --dport 10050 -j ACCEPT


如果启用了阿里云安全组,需要设置在安全组设置里添加端口。

在服务器端检测客户端是否连通:

/usr/bin/zabbix_get -s 客户端IP -p10050 -k"net.if.in[eth0,bytes]"


其它问题处理

zabbix的log位置在conf文件里有记录,如果有错误可以查看log。

如果log提示:

zabbix_agentd [2693]: cannot create PID file [/var/run/zabbix/zabbix_agentd.pid]: [2] No such file or directory


可以使用命令:

cd /var/run
mkdir zabbix
sudo chown zabbix zabbix/
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: