Linux&&服務器監控zabbix
瞭解
部署
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@;[email protected]=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@;[email protected]_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,選擇相應服務器的相應圖表查看
參考資料:http://blog.chinaunix.net/uid-20776139-id-4063983.html
添加郵件報警
參考資料:
http://www.cnblogs.com/Dicky-Zhang/p/5982973.html
http://www.cnblogs.com/rysinal/p/5834421.html