zabbix資料庫
Ⅰ 配置zabbix時zabbix_server [24834]: /etc/zabbix/zabbix_server.conf.d: [2]No such file or directory
默認Zabbix配置文件會自動生成到/etc下面的,如果沒有,就有可能默認安裝到其他目錄了,如/opt下面。
具體參考配置教程
1、zabbix server端的配置在進行源碼安裝zabbix時已經配置好了,具體要配置的參數如下:
ListenPort=10051
server服務的監聽埠,默認是10051
DBHost=localhost 資料庫IP地址
DBName=zabbix 資料庫名稱
DBUser=zabbix 資料庫用戶名
DBPassword=zabbix 資料庫密碼
DBPort=3306 資料庫埠,默認是3306
ListenIP=127.0.0.1,192.168.10.10
zabbix server ip地址復制代碼
vim /etc/zabbix/zabbix_server.conf
ListenPort=10051DBHost=localhost 資料庫ip地址
DBName=zabbix
DBUser=zabbix
DBPassword=zabbix
DBPort=3306
ListenIP=127.0.0.1,192.168.10.10
zabbix server ip地址復制代碼剛剛開始需要關注的是這些,後面再補充。
還有個:zabbix運行腳本存放路徑,這個也在/etc/zabbix/zabbix_server.conf
配置文件里配置,默認地址是:AlertScriptsPath=${datadir}/zabbix/alertscripts
zabbix_agent 客戶端配置,服務端在源碼安裝時已經進行了,批量部署的話不建議客戶端使用源碼安裝,推薦使用rpm包安裝,可以使用zabbix官方提供的rpm路徑:
repo.zabbix.com/zabbix/3.0/修改Agent配置文件 zabbix agent的配置很簡單,只需要修改zabbix agent配置文件中的Server、ServerActive和Hostname這三項即可。
其中Server、ServerActive是zabbix server伺服器的IP地址,Hostname是被監控端的IP地址,如下:復制代碼#
sed -i "s/Server\=127.0.0.1/Server\=127.0.0.1,192.168.30.130/g" /etc/zabbix/zabbix_agentd.conf
# sed -i "s/ServerActive\=127.0.0.1/ServerActive\=192.168.30.130: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 "#UnsafeUserParameters=0#aUnsafeUserParameters=1\n" /etc/zabbix/zabbix_agentd.conf
復制代碼拷貝 Agent 啟動腳本復制代碼
# mkdir /var/log/zabbix
# chown zabbix.zabbix /var/log/zabbix # 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/#g" /etc/init.d/zabbix_agentd
復制代碼設置Agent開機啟動
# chkconfig zabbix_agentd on
# servicezabbix_agentdstart在Server端使用以下命令測試是否能連接到Agent端:[root@localhost ~]# /usr/local/zabbix/bin/zabbix_get -s 192.168.217.139 -p 10050 -k "system.uptime"17340
Ⅱ 濡備綍浠巣abbix鏁版嵁搴撲腑鑾峰彇姣忔棩嫻侀噺鏈澶у
鐗堟湰涓錛
鏍規嵁鏌ユ壘鍒扮殑涓繪満鍚嶏紝杈撳叆鏃ユ湡鍚庯紝杈撳嚭涓鏃ュ唴鏈澶ц繘鍑哄彛嫻侀噺
#!/bin/bash
#
###鑾峰彇姣忔棩嫻侀噺鏈澶у肩殑鑴氭湰錛岃剼鏈浠巣abbix鏁版嵁搴撶殑history_uint琛ㄤ腑鍙
###鏁版嵁錛屾牴鎹甴ostname.txt鏂囦歡涓鐨勪富鏈哄悕銆
###wuhf###
z_user="XXX"
z_passwd="XXX"
Cur_Dir=$(pwd)
function test_file {
echo "-------------------------寮濮嬫煡鎵句富鏈哄悕--------------------------"
if [ -e $Cur_Dir/hostname.txt ]; then
echo > $Cur_Dir/hostname.txt
else
touch $Cur_Dir/hostname.txt
fi
for host_ip in $(cat $Cur_Dir/hostip.txt); do
if /usr/local/zabbix/bin/zabbix_get -s $host_ip -k system.hostname &>/dev/null; then
z_hostname=$(/usr/local/zabbix/bin/zabbix_get -s $host_ip -k system.hostname)
echo -e "\033[32mIP錛$host_ip --------> 涓繪満鍚嶏細$z_hostname\033[0m"
echo "$z_hostname" >> $Cur_Dir/hostname.txt
else
echo -e "\033[31mIP錛$host_ip --------> 涓繪満鍚嶏細Error\033[0m"
echo -e "\033[31m涓繪満鍚嶆病鏈夎鎵懼埌錛屽彲鑳芥槸緗戠粶涓嶅彲杈炬垨鑰厇abbix_agentd絝娌℃湁鍚鍔\033[0m"
fi
done
}
function input_date {
read -p "璇瘋緭鍏ュ紑濮嬫棩鏈(濡2015-01-01)錛" E
until date -d"$E" &>/dev/null; do
echo -e "\033[31m浣犺緭鍏ョ殑鏃ユ湡鏍煎紡閿欒錛岃蜂粠鏂拌緭鍏ワ紒\033[0m"
read -p "璇瘋緭鍏ュ紑濮嬫棩鏈燂細" E
done
if date -d "$E" >& /dev/null;then
from_time=$(date -d"$E" +%s)
fi
read -p "璇瘋緭鍏ョ粨鏉熸棩鏈燂細" D
until date -d"$D" &>/dev/null; do
echo -e "\033[31m浣犺緭鍏ョ殑鏃ユ湡鏍煎紡閿欒錛岃蜂粠鏂拌緭鍏ワ紒\033[0m"
read -p "璇瘋緭鍏ョ粨鏉熸棩鏈(濡2015-01-01)錛" D
done
if date -d "$D" >& /dev/null;then
end_time=$(date -d"$D" +%s)
fi
}
function main() {
mysql -u$z_user -h127.0.0.1 -p$z_passwd -Dzabbix -e "select host,hostid from hosts where host=\"$host_name\";" | grep "$host_name" &>/dev/null
if [ $? -eq 0 ]; then
Max_In=$(mysql -uz_user -h127.0.0.1 -pz_passwd -Dzabbix -e "select from_unixtime(clock) as DateTime,max(round(value/1024/1024,2)) as In_Value from history_uint
where itemid = (select itemid from items
where hostid = (select hostid from hosts
where host=\"$host_name\")
and key_ like \"net.if.in%\" limit 1)
and clock >= $from_time and clock <= $end_time" |tail -1 |awk '{print $3}')
Max_Out=$(mysql -uz_user -h127.0.0.1 -pz_passwd -Dzabbix -e "select from_unixtime(clock) as DateTime,max(round(value/1024/1024,2)) as In_Value from history_uint
where itemid = (select itemid from items
where hostid = (select hostid from hosts
where host=\"$host_name\")
and key_ like \"net.if.out%\" limit 1)
and clock >= $from_time and clock <= $end_time" |tail -1 |awk '{print $3}')
echo "| $host_name | 鏈澶ц繘鍙f祦閲: $Max_In | 鏈澶у嚭鍙f祦閲: $Max_Out | 鏃ユ湡鑼冨洿錛$E 鑷 $D |"
else
echo -e "\033[31m涓繪満鍚 $host_name 鍦▃abbix鏁版嵁搴撲腑涓嶅瓨鍦錛岃蜂慨鏀逛富鏈哄悕鍚庨噸璇曪紒\033[0m"
fi
}
test_file
input_date
until [ $from_time -lt $end_time ]; do
echo -e "\033[31m寮濮嬫棩鏈熷簲璇ュ皬浜庣粨鏉熸棩鏈燂紝璇蜂粠鏂拌緭鍏ワ紒\033[0m"
input_date
done
for host_name in $(cat $Cur_Dir/hostname.txt); do
echo "------------------------------------------------------------------------------------------------------"
main
done
Ⅲ 如何在centos7上安裝zabbix
zabbix 是一個基於WEB界面的提供分布式系統監視以及網路監視功能的企業級的開源解決方案,下文我們一起來看看linux中Zabbix安裝配置圖文教程,希望例子能幫助到各位同學哦。
說明:
操作系統:CentOS
IP地址:192.168.21.127
Web環境:Nginx+MySQL+php
zabbix版本:Zabbix 2.2 LTS
備註:Linux下安裝zabbix需要有LAMP或者LNMP運行環境
安裝篇
一、創建、導入zabbix資料庫
cd /usr/local/src #進入軟體包下載目錄
tar zxvf zabbix-2.2.6.tar.gz #解壓
cd /usr/local/src/zabbix-2.2.6/database/mysql #進入mysql資料庫創建腳本目錄
ls #列出文件,可以看到有schema.sql、images.sql、data.sql這三個文件
mysql -u root -p #輸入密碼,進入MySQL控制台
create database zabbix character set utf8; #創建資料庫zabbix,並且資料庫編碼使用utf8
insert into mysql.user(Host,User,Password) values(『localhost','zabbix',password('123456』)); #新建賬戶zabbix,密碼123456
flush privileges; #刷新系統授權表
grant all on zabbix.* to 'zabbix'@'127.0.0.1' identified by '123456' with grant option; #允許賬戶zabbix能從本機連接到資料庫zabbix
flush privileges; #再次刷新系統授權表
use zabbix #進入資料庫
source /usr/local/src/zabbix-2.2.6/database/mysql/schema.sql #導入腳本文件到zabbix資料庫
source /usr/local/src/zabbix-2.2.6/database/mysql/images.sql #導入腳本文件到zabbix資料庫
source /usr/local/src/zabbix-2.2.6/database/mysql/data.sql #導入腳本文件到zabbix資料庫
注意:請按照以上順序進行導入,否則會出錯。
exit #退出
或者這樣導入
mysql -uzabbix -p123456 -hlocalhost zabbix < /usr/local/src/zabbix-2.2.6/database/mysql/schema.sql
mysql -uzabbix -p123456 -hlocalhost zabbix < /usr/local/src/zabbix-2.2.6/database/mysql/images.sql
mysql -uzabbix -p123456 -hlocalhost zabbix < /usr/local/src/zabbix-2.2.6/database/mysql/data.sql
cd /usr/lib64/mysql #32位系統為/usr/lib/mysql,注意系統版本同,文件版本可能不一樣,這里是16.0.0
ln -s libmysqlclient.so.16.0.0 libmysqlclient.so #添加軟連接
ln -s libmysqlclient_r.so.16.0.0 libmysqlclient_r.so #添加軟連接
二、安裝zabbix
1、添加用戶:
groupadd zabbix #創建用戶組zabbix
useradd zabbix -g zabbix -s /bin/false #創建用戶zabbix,並且把用戶zabbix加入到用戶組zabbix中
2、安裝依賴包 #CentOS使用yum命令安裝
yum install net-snmp-devel curl curl-devel mysql-devel
備註:以上軟體包如果在安裝Web環境LAMP或者LNMP時已經安裝過,此步驟可忽略
3、安裝zabbix
cd /usr/local/src/zabbix-2.2.6 #進入安裝目錄
./configure --prefix=/usr/local/zabbix --enable-server --enable-agent --with-net-snmp --with-libcurl --enable-proxy --with-mysql=/usr/bin/mysql_config #配置
make #編譯
make install #安裝
說明:find / -name mysql_config 查找位置,如果沒有mysql_config,需要安裝yum install mysql-devel
4、添加zabbix服務對應的埠
vi /etc/services #編輯,在最後添加以下代碼
# 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
:wq! #保存退出
5、修改zabbix配置文件
cd /usr/local/zabbix/etc
vi /usr/local/zabbix/etc/zabbix_server.conf
DBName=zabbix #資料庫名稱
DBUser=zabbix #資料庫用戶名
DBPassword=123456 #資料庫密碼
ListenIP=127.0.0.1 #資料庫ip地址
AlertScriptsPath=/usr/local/zabbix/share/zabbix/alertscripts #zabbix運行腳本存放目錄
:wq! #保存退出
6、添加開機啟動腳本
cp /usr/local/src/zabbix-2.2.6/misc/init.d/fedora/core/zabbix_server /etc/rc.d/init.d/zabbix_server #服務端
cp /usr/local/src/zabbix-2.2.6/misc/init.d/fedora/core/zabbix_agentd /etc/rc.d/init.d/zabbix_agentd #客戶端
chmod +x /etc/rc.d/init.d/zabbix_server #添加腳本執行許可權
chmod +x /etc/rc.d/init.d/zabbix_agentd #添加腳本執行許可權
chkconfig zabbix_server on #添加開機啟動
chkconfig zabbix_agentd on #添加開機啟動
7、修改zabbix開機啟動腳本中的zabbix安裝目錄
vi /etc/rc.d/init.d/zabbix_server #編輯服務端配置文件
BASEDIR=/usr/local/zabbix/ #zabbix安裝目錄
:wq! #保存退出
vi /etc/rc.d/init.d/zabbix_agentd #編輯客戶端配置文件
BASEDIR=/usr/local/zabbix/ #zabbix安裝目錄
:wq! #保存退出
四、配置web站點
cd /usr/local/src/zabbix-2.2.6
cp -r /usr/local/src/zabbix-2.2.6/frontends/php /usr/local/nginx/html/zabbix
chown www.www -R /usr/local/nginx/html/zabbix
備註:/usr/local/nginx/html為Nginx默認站點目錄 www為Nginx運行賬戶
service zabbix_server start #啟動zabbix服務端
service zabbix_agentd start #啟動zabbix客戶端
六、修改php配置文件參數
1、vi /etc/php.ini #編輯修改
post_max_size =16M
max_execution_time =300
max_input_time =300
:wq! #保存退出
2、vi /usr/local/php/etc/php-fpm.conf #編輯修改
request_terminate_timeout = 300
:wq! #保存退出
service php-fpm reload #重啟php-fpm
七、安裝web