Linux&&服务器监控zabbix
- 了解
- 部署
- centOS部署
- 预安装软件包
- 配置PHP参数
- 编译安装zabbix
- 浏览器配置zabbix的web控制台
- 被监控端部署
- web控制台添加监控设备
- Linux
- windows
- ubuntu部署
- 预安装软件包
- 被监控主机zabbix_agentd部署
- 软件源部署
- 源码部署
- web控制台配置指定端口(以80为例)监测
- 添加邮件报警
了解
部署
centOS部署
预安装软件包
yum -y install httpd php mysql mysql-server php-mysql httpd-manual mod_ssl mod_perl mod_auth_mysql php-gd php-xml php-mbstring php-ldap php-pear php-xmlrpc php-bcmath mysql-connector-odbc mysql-devel libdbi-dbd-mysql net-snmp net-snmp-devel curl-devel
#设置软件开机自启
service httpd start
service mysqld start
chkconfig httpd on
chkconfig mysqld on
zabbix监控服务使用的端口号为80,10050,10051
配置PHP参数
zabbix的运行需要特定的php参数设置
sed -i "s@;date.timezone=@date.timezone=Asia/Shanghai@g" /etc/php.ini
sed -i "s@max_execution_time=30@max_execution_time=300@g" /etc/php.ini
sed -i "s@post_max_size=8M@post_max_size=32M@g" /etc/php.ini
sed -i "s@max_input_time=60@max_input_time=300@g" /etc/php.ini
sed -i "s@memory_limit=128@memory_limit=128@g" /etc/php.ini
sed -i "s@;mbstring.func_overload=0@mbstring.func_overload=2@g" /etc/php.ini
修改httpd的FQDN错误,重启httpd服务:
echo "ServerName localhost:80" >> /etc/httpd/conf/httpd.conf
/etc/init.d/httpd restart
编译安装zabbix
#创建zabbix程序用户
groupadd -g 201 zabbix
useradd -g zabbix -u 201 -s /sbin/nologin zabbix
#编译、安装
cd /usr/src
tar xf zabbix-2.2.2.tar.gz
cd zabbix-2.2.2
./configure --prefix=/usr/local/zabbix --enable-server --enable-proxy --enable-agent --with-mysql=/usr/bin/mysql_config --with-net-snmp --with-libcurl
make && make install
#创建zabbix数据库和表
mysql -e "create database zabbix default charset utf8;"
mysql -e "grant all on zabbix.* to zabbix@localhost identified by 'zabbix';"
mysql -uzabbix -pzabbix zabbix < /usr/src/zabbix-2.2.2/database/schema.sql
mysql -uzabbix -pzabbix zabbix < /usr/src/zabbix-2.2.2/database/images.sql
mysql -uzabbix -pzabbix zabbix < /usr/src/zabbix-2.2.2/database/data.sql
#设置软连接和启动文件信息
mkdir /var/log/zabbix
chown zabbix.zabbix /var/log/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/
cp /usr/src/zabbix-2.2.2/misc/init.d/fedora/core/zabbix_* /etc/init.d
chmod 755 /etc/init.d/zabbix_*
#修改/etc/init.d目录下的zabbix_server和zabbix_agentd启动文件
sed -i "s@BASEDIR=/usr/local@BASEDIR=/usr/local/zabbix@g" /etc/init.d/zabbix_server
sed -i "s@BASEDIR=/usr/local@BASEDIR=/usr/local/zabbix@g" /etc/init.d/zabbix_agentd
#修改/etc/zabbix/zabbix_server.conf
sed -i "s@DBUser=root@DBUser=zabbix@g" /etc/zabbix/zabbix_server.conf
sed -i "s@#DBPassword=@DBPassword=zabbix@g" /etc/zabbix/zabbix_server.conf
#修改/etc/zabbix/zabbix_agentd.conf.指定监控服务器ip地址
sed -i "s@Server=127.0.0.1@Server=127.0.0.1,192.168.3.28@g" /etc/zabbix/zabbix_agentd.conf
sed -i "s@ServerActive=127.0.0.1@ServerActive=192.168.3.28:10051@g" /etc/zabbix/zabbix_agentd.conf
sed -i "s@/tmp/zabbix_agentd.log@/var/log/zabbix/zabbix_agentd.log@g" /etc/zabbix/zabbix_agentd.conf
sed -i "s@^#UnsafeUserParameters=0@UnsafeUserParameters=1\n@g" /etc/zabbix/zabbix_agentd.conf
#复制zabbix站点文件到/var/www/html目录下
cp -r /usr/src/zabbix-2.2.2/frontends/php/ /var/www/html/zabbix
chown -R apache.apache /var/www/html/zabbix/
#设置开机自启
chkconfig zabbix_server on
chkconfig zabbix_agentd on
service zabbix_server start
service zabbix_agentd start
浏览器配置zabbix的web控制台
访问:http://192.168.3.28/zabbix/setup.php
zabbix环境检测:
连接数据库配置:
确认信息:
登录控制台:
修复中文乱码:
被监控端部署
#预安装软件包
yum -y install wget vim tree gcc gcc-c++
#创建zabbix程序用户
groupadd -g 201 zabbix
useradd -g zabbix -u 201 -s /sbin/nologin zabbix
#编译安装zabbix
cd /usr/src
tar xf zabbix-2.2.2.tar.gz
cd zabbix-2.2.2
./configure --prefix=/usr/local/zabbix --enable-agent
make && make install
#创建zabbix日志目录
mkdir -p /var/log/zabbix
chown zabbix.zabbix /var/log/zabbix
#复制zabbix_agentd启动文件到/etc/init.d目录下
cp misc/init.d/fedora/core/zabbix_agentd /etc/init.d/
chmod 755 /etc/init.d/zabbix_agentd
#修改启动文件和配置软连接
sed -i "s@BASEDIR=/usr/local@BASEDIR=/usr/local/zabbix@g" /etc/init.d/zabbix_agentd
ln -s /usr/local/zabbix/etc/ /etc/zabbix
ln -s /usr/local/zabbix/bin/* /usr/bin/
ln -s /usr/local/zabbix/sbin/* /usr/sbin/
sed -i "s@Server=127.0.0.1@Server=192.168.3.28@g" /etc/zabbix/zabbix_agentd.conf
sed -i "s@ServerActive=127.0..1@ServerActive=192.168.3.28:10051@g" /etc/zabbix/zabbix_agentd.conf
sed -i "s@tmp/zabbix_agentd.log@/var/log/zabbix/zabbix_agentd.log@g" /etc/zabbix/zabbix_agentd.conf
sed -i "s@^#UnsafeUserParameters=0@UnsafeUserParameters=1\n@g" /etc/zabbix/zabbix_agentd.conf
#启动zabbix客户端
service zabbix_agentd start
chkconfig zabbix_agentd on
web控制台添加监控设备
Linux
创建主机:
为主机添加模板:
windows
下载解压zabbix_agents_2.4.0.win.zip
编辑配置文件:
安装agent:
启动agent:
在web控制台添加windows主机:
添加windows模板:
ubuntu部署
预安装软件包
#更新软件源
sudo apt-get update
sudo apt-get install apache2 mysql-server mysql-client libapache2-mod-php5 php5-gd php5-mysql php5-common zabbix-server-mysql zabbix-frontend-php
#配置zabbix服务
sudo vim /etc/zabbix/zabbix_server.conf
DBName=zabbix
DBUser=zabbizx
DBPassword=zabbix
#创建数据库并导入表
mysql -u root -p
> create database zabbix default charset utf8; //防止mysql乱码
> create user 'zabbix'@'localhost' identified by 'zabbix';
> grant all privileges on zabbix.* to 'zabbix'@'localhost';
> flush privileges;
#找到表压缩包
cd /usr/share/zabbix-server-mysql/
ls #有data.sql.gz,images.sql.gz,schema.sql.gz
#解压表
sudo gunzip *.gz
ls #有data.sql,images.sql,schema.sql
#导入表
mysql -uzabbix -pzabbix zabbix < schema.sql
mysql -uzabbix -pzabbix zabbix < images.sql
mysql -uzabbix -pzabbix zabbix < data.sql
#配置PHP服务
sudo vim /etc/php5/apache2/php.ini
; date.timezone= 修改为 date.timezone =Asia/Shanghai
max_execution_time = 30 修改为 max_execution_time = 300
max_input_time = 60 修改为 max_input_time = 300
post_max_size = 8M 修改为 post_max_size = 32M
#配置网页
sudo cp /usr/share/doc/zabbix-frontend-php/examples/zabbix.conf.php.example /etc/zabbix/zabbix.conf.php
sudo vim /etc/zabbix/zabbix.conf.php
$DB["PASSWORD"] ='zabbix_password';
#修改为
$DB["PASSWORD"] = 'zabbix';
sudo cp /usr/share/doc/zabbix-frontend-php/examples/apache.conf /etc/apache2/conf-available/zabbix.conf
sudo a2enconf zabbix.conf
sudo a2enmod alias
sudo vim /etc/default/zabbix-server
#START=no 修改为
START=yes
#启动zabbix服务
sudo service zabbix-server start
#安装zabbix-agent,用于监控监控服务器本身
sudo apt-get install zabbix-agent
sudo vim /etc/zabbix/zabbix_agentd.conf
#Server=127.0.0.1 修改为
Server=111.111.111.111
#ServerActive=127.0.0.1 修改为
ServerActive=111.111.111.111
Hostname=Zabbix server #记住
#启动zabbix-agent服务
service zabbix-agent start
#修改Apache端口
vim /etc/apache2/ports.conf
#Listen 80 修改为
Listen 8080
#启动Apache服务
service apache2 restart
浏览器访问: http://111.111.111.111:8080/zabbix/setup.php
用户:admin 口令:zabbix
按上图要求下载上传到指定路径即可。最后重新记载Apache服务即可。
其他步骤操作与centOS系统相同
被监控主机zabbix_agentd部署
软件源部署
sudo apt-get install zabbix-agent
sudo vim /etc/zabbix/zabbix_agentd.conf
#Server=127.0.0.1 修改为
Server=111.111.111.111
#ServerActive=127.0.0.1 修改为
ServerActive=111.111.111.111
Hostname=Zabbix server 修改为 TcpCN
/etc/init.d/zabbix-agent restart
若配置文件中不存在ServerActive=这个命令行,那么只修改Server=和Hostname=命令行即可,擅自添加会报错。
源码部署
apt-get remove --purge zabbix-agent
useradd -r -s /sbin/nologin zabbix
apt-get install make
apt-get install lrzsz
cd /tmp
rz //上传zabbix-2.2.2.tar.gz
tar zxf zabbix-2.2.2.tar.gz
cd zabbix-2.2.2/
./configure --prefix=/usr/local/zabbix_agent --enable-agent
make && make install
vim /usr/local/zabbix_agent/etc/zabbix_agentd.conf
#Server=127.0.0.1 修改为
Server=111.111.111.111
#ServerActive=127.0.0.1 修改为
ServerActive=111.111.111.111
Hostname=Zabbix Mongodb
/usr/local/zabbix_agent/sbin/zabbix_agentd restart
netstat -anp | grep zabbix
web控制台配置指定端口(以80为例)监测
添加模板:
Configuration>Templates>Create template>创建新模板:80 port>Save
模板添加成功:
添加application:
在80 port行,打开Applications>Create application>输入80 port>Save
创建item:
在80 port行,打开Items>Create item>xx>Save
net.tcp.listen[port] : 检测端口是否开启,支持zabbix agent 1.8.4及更新的版本。
net.tcp.port[,port] : 是否可以连接到指定的TCP端口IP,IP 地址(默认是 127.0.0.1),不填代表使用默认IP地址。
添加触发器:
在80 port行,打开Triggers>Create trigger>xx>save add的选择
创建表:
在80 port行,打开Graphs>Create graph>xx>Save
为目标被监控主机添加此模板即可:
检验:
检验:Monitoring>Graphs,选择相应服务器的相应图表查看