国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 系統 > Linux > 正文

【Linux】Zabbix + MPM + msmtp + mutt 監控MySQL + 郵件報警

2024-06-28 13:26:35
字體:
來源:轉載
供稿:網友
【linux】Zabbix + MPM + msmtp + mutt 監控MySQL + 郵件報警

Zabbix部署參考博文

http://blog.sina.com.cn/s/blog_5611597901017oe0.html

MPM安裝配置參考博文和MPM官網下載地址

http://blog.chinaunix.net/uid-451-id-3338674.html

http://www.fromdual.com/download#mpm

其余Zabbix參考博文地址

http://blog.sina.com.cn/s/blog_416656f70100d3oj.html

http://13angel.CUOxin.com/blog/248989

http://www.douban.com/note/330082640/

http://waringid.blog.51cto.com/65148/955939/監控MSSQLhttp://mayulin.blog.51cto.com/1628315/514509/

安裝各種依賴包和環境所需包 ...

https://lug.ustc.edu.cn/wiki/mirrors/help/centos

可以把yum源改成上面這個

yum -y install gcc gcc-c++ autoconf libjpeg libjpeg-devel libpng libpng-devel freetype freetype-devel libxml2 libxml2-devel zlib zlib-devel glibc glibc-devel glib2 glib2-devel bzip2 bzip2-devel ncurses ncurses-devel curl curl-devel e2fsPRogs e2fsprogs-devel krb5 krb5-devel libidn libidn-devel openssl openssl-devel openldap openldap-devel nss_ldap openldap-clients openldap-serversphp以及連接mysql的組件yum -y install httpd php php-mysqlapache依賴yum -y install httpd-manual mod_ssl mod_perl mod_auth_mysqlphp依賴yum -y install php-gd php-xml php-mbstring php-ldap php-pear php-xmlrpc php-bcmath php-snmp lm_sensors lm_sensors-devel perl-DBD-MySQLyum -y install mysql-connector-odbc mysql-devel libdbi-dbd-mysql mysql mysql-serveryum -y install net-snmp net-snmp-utils net-snmp-perl net-snmp-devel beecrypt-develyum -y install php-gd php-bcmath elfutils beecrypt php-snmp lm_sensorsyum -y install net-snmp net-snmp-devel net-snmp-utilsyum -y install curl curl-develyum -y install fping ##zabbix 使用 fping 替代了 ping 作為 icmp 的工具
View Code

mysql修改配置文件,因為yum源安裝的是5.1版本,給一個配置模板...模板好像是5.5的

[mysqld]user            = mysqldatadir         = /export/zabbix/mysql_datasocket          = /export/zabbix/mysql_socket/mysql.sockport            = 3306default-character-set = utf8[client]port            = 3306socket          = /export/zabbix/mysql_socket/mysql.sock[mysqld_safe]log-error=/var/log/mysqld.logpid-file=/var/run/mysqld/mysqld.pid#--- GLOBAL ---#character-set-server    = utf8log-error               = /export/zabbix/mysql_log/error.logpid-file                = /export/zabbix/mysql_data/mysql.pidslow-query-logslow_query_log_file     = /export/zabbix/mysql_log/slow.logtmpdir                  = /export/zabbix/mysql_tmp/long_query_time         = 1#--------------#thread_concurrency      = 16thread_cache_size       = 512table_open_cache        = 16384table_definition_cache  = 16384sort_buffer_size        = 2Mjoin_buffer_size        = 2Mread_buffer_size        = 4Mread_rnd_buffer_size    = 4Mkey_buffer_size         = 64Mmyisam_sort_buffer_size = 64Mtmp_table_size          = 256Mmax_heap_table_size     = 256Mopen_files_limit        = 65535#query_cache_size       = 2G#--- NETWORK ---#back_log                = 1024max_allowed_packet      = 16Minteractive_timeout     = 300wait_timeout            = 300skip-external-lockingmax-connections         = 1000skip-name-resolve#--- REPL ---#server-id               = 1073306log-bin                 = mysql-binbinlog_format           = mixedexpire_logs_days        = 7relay-log               = relay-logreplicate-ignore-db     = testlog_slave_updatesskip-slave-start#--- INNODB ---#default-storage-engine          = INNODBinnodb_data_home_dir            = /export/zabbix/mysql_datainnodb_data_file_path           = ibdata1:256M:autoextendinnodb_file_per_tableinnodb_log_group_home_dir       = /export/zabbix/mysql_loginnodb_buffer_pool_size         = 10Ginnodb_additional_mem_pool_size = 128Minnodb_log_files_in_group       = 3innodb_log_file_size            = 1024Minnodb_log_buffer_size          = 16Minnodb_flush_log_at_trx_commit  = 1innodb_lock_wait_timeout        = 120innodb_flush_method             = O_DIRECTinnodb_max_dirty_pages_pct      = 75innodb_io_capacity              = 1000innodb_thread_concurrency       = 32innodb_open_files               = 65535innodb_write_io_threads = 8innodb_read_io_threads = 8[mysqldump]quickmax_allowed_packet = 128M[mysql]no-auto-rehashdefault-character-set=utf8[myisamchk]key_buffer_size = 128Msort_buffer_size = 128Mread_buffer = 2Mwrite_buffer = 2M[mysqlhotcopy]interactive-timeout
View Code

不細說MySQL的部署過程了,大致過程

1、建數據目錄、日志目錄、tmp目錄

2、chown -R mysql.mysql數據目錄、日志目錄、tmp目錄

3、初始化mysql_install_db --defaults-file=/etc/my.cnf &

4、啟動mysqld_safe --defaults-file=/etc/my.cnf &

5、系統建zabbix組合用戶groupadd zabbix;useradd -g zabbix -d /home/zabbix -s /sbin/nologin zabbix

6、解壓zabbix,編譯配置參數說明:

--enable-server 安裝 Zabbix Server--enable-proxy 安裝 Zabbix Proxy--enable-agent 安裝 Zabbix Agent--with-mysql 使用 mysql 做數據庫服務器--with-net-snmp 支持 SNMP--with-libcurl 支持 curl,用于 web 監控

我不需要網絡設備監控,監控機器比較少,所以不用proxy和snmp,編譯后的路徑按照自己喜好放置吧

./configure --prefix=/usr/local/zabbix --with-mysql --enable-server --enable-agent --with-libcurl

編譯完會顯示以下信息

Configuration:  Detected OS:           linux-gnu  Install path:          /usr/local/zabbix  Compilation arch:      linux  Compiler:              gcc  Compiler flags:        -g -O2  -I/usr/include/mysql  -g -pipe -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4 -m64 -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -fno-strict-aliasing -fwrapv -fPIC   -DUNIV_LINUX -DUNIV_LINUX              Enable server:         yes  Server details:    With database:         MySQL    WEB Monitoring:        cURL    Native Jabber:         no    SNMP:                  no    IPMI:                  no    SSH:                   no    ODBC:                  no    Linker flags:          -rdynamic      -L/usr/lib64/mysql               Libraries:             -lm -ldl -lrt  -lresolv    -lmysqlclient             -lcurl  Enable proxy:          no  Enable agent:          yes  Agent details:    Linker flags:          -rdynamic         Libraries:             -lm -ldl -lrt  -lresolv     -lcurl  Enable java gateway:   no  LDAP support:          no  IPv6 support:          no************************************************************            Now run 'make install'                       **                                                         **            Thank you for using Zabbix!                  **              <http://www.zabbix.com>                    ************************************************************
View Code

繼續make install

7、MySQL建zabbix庫、用戶

insert into mysql.user(User,Host,PassWord) values ('zabbix','%',password('zabbix'));

flush privileges;grant all privileges on zabbix.* to 'zabbix'@'%';

show grants for zabbix; ##yum裝的mysql5.1比較操蛋

create database zabbix

mysql> show grants for zabbix;+-------------------------------------------------------------------------------------------------------+| Grants for zabbix@%                                                                                   |+-------------------------------------------------------------------------------------------------------+| GRANT USAGE ON *.* TO 'zabbix'@'%' IDENTIFIED BY PASSWORD '*DEEF4D7D88CD046ECA02A80393B7780A63E7E789' || GRANT ALL PRIVILEGES ON `zabbix`.* TO 'zabbix'@'%'                                                    |+-------------------------------------------------------------------------------------------------------+2 rows in set (0.00 sec)mysql> GRANT ALL PRIVILEGES ON `zabbix`.* TO 'zabbix'@'%' IDENTIFIED BY PASSWORD '*DEEF4D7D88CD046ECA02A80393B7780A63E7E789'    -> ;Query OK, 0 rows affected (0.00 sec)mysql> flush privileges;      Query OK, 0 rows affected (0.00 sec)
View Code

8、注意依次導入./database/mysql/schema.sql ./database/mysql/images.sql ./database/mysql/data.sql

mysql -uzabbix -pzabbix zabbix <./database/mysql/schema.sql

mysql -uzabbix -pzabbix zabbix <./database/mysql/images.sql

mysql -uzabbix -pzabbix zabbix <./database/mysql/data.sql

9、檢查一下/etc/services里面是否有以下四行,如果沒有就加上

zabbix-agent    10050/tcp               # Zabbix Agentzabbix-agent    10050/udp               # Zabbix Agentzabbix-trapper  10051/tcp               # Zabbix Trapperzabbix-trapper  10051/udp               # Zabbix Trapper
View Code

10、拷貝zabbix目錄下的frontend/php內容到http server的主目錄下:

cp -r frontends/php/* /var/www/html/zabbix/

11、啟動Apacheservice httpd start將 Apache 設置為開機自動啟動chkconfig --add httpdchkconfig --level 345 httpd on

httpd: Could not reliably determine the server's fully qualified domain name, using 127.0.0.1 for ServerName

vim /etc/httpd/conf/httpd.conf

找到#ServerName www.example.com:80 把#去掉,再重啟apache即可,瀏覽器訪問一下試試

12、修改zabbix_server配置文件

參考博文修改的內容

[root@localhost zabbix-2.0.2]# sed -i 's/^DBUser=.*$/DBUser=zabbix/g' /usr/local/zabbix/etc/zabbix_server.conf[root@localhost zabbix-2.0.2]# sed -i 's/^.*DBPassword=.*$/DBPassword=111111/g' /usr/local/zabbix/etc/zabbix_server.conf[root@localhost zabbix-2.0.2]# cp -r frontends/php /var/www/html/zabbix[root@localhost zabbix-2.0.2]# cp misc/init.d/fedora/core/zabbix_server /etc/init.d/[root@localhost zabbix-2.0.2]# cp misc/init.d/fedora/core/zabbix_agentd /etc/init.d/[root@localhost zabbix-2.0.2]#sed -i 's/BASEDIR=//usr//local/BASEDIR=//usr//local//zabbix/g' /etc/init.d/zabbix_server[root@localhost zabbix-2.0.2]#sed -i 's/BASEDIR=//usr//local/BASEDIR=//usr//local//zabbix/g' /etc/init.d/zabbix_agentd
View Code

我修改的內容

LogFile=/tmp/zabbix_server.log

DBName=zabbix

DBUser=zabbix

DBPassword=zabbix

DBSocket=/export/zabbix/mysql_socket/mysql.sock

FpingLocation=/usr/sbin/fping

要安裝fping下載地址:http://fping.org/安裝:tar -zxvf fping.tar.gzcd fping/./configuremake && make installwhich fping  <- FpingLocation的配置安裝這個修改fping failed: "(null): can't create socket (must run as root?) : Protocol not supported"/usr/local/sbin/fping: can't create raw socket (must run as root?) : Operation not permitted登錄zabbix用戶驗證確實zabbix用戶無法使用fping,權限問題,修改權限chown root:root /usr/local/sbin/fpingchmod u+s /usr/local/sbin/fping

如果啟動的時候提示pid找不到,那就改一下pid的相關項

然后做一下軟連或者加上環境變量

[root@zabbixserver mpm]# cd /bin/[root@zabbixserver bin]# ln -s /usr/local/zabbix/bin/zabbix_sender zabbix_sender[root@zabbixserver bin]# ln -s /usr/local/zabbix/bin/zabbix_get  zabbix_get

13、修改php.ini配置文件

參考博文修改的內容

[root@localhost ~]#sed -i 's/^/(.*/)date.timezone =.*$/date.timezone = Asia//Shanghai/g' /etc/php.ini[root@localhost ~]#sed -i 's/^/(.*/)post_max_size =.*$/post_max_size = 16M/g' /etc/php.ini[root@localhost ~]#sed -i 's/^/(.*/)max_execution_time =.*$/max_execution_time = 300/g' /etc/php.ini[root@localhost ~]#sed -i 's/^/(.*/)max_input_time =.*$/max_input_time = 300/g' /etc/php.ini[root@localhost ~]# /etc/init.d/zabbix_server start[root@localhost ~]# /etc/init.d/zabbix_agentd start[root@localhost ~]# /etc/init.d/httpd start
View Code

修改完php配置需要重啟zabbix_server和apache

可以訪問zabbix頁面進行配置,下面提示連接不到MySQL

function DBconnect(&$error) {}代碼段,代碼里面沒有指定socket,所以一般不是這塊問題。

function DBconnect(&$error) {        global $DB;        if (isset($DB['DB'])) {                $error = _('Cannot create another database connection.');                return false;        }        $result = true;        $DB['DB'] = null; // global db handler        $DB['TRANSACTIONS'] = 0; // level of a nested transation        $DB['TRANSACTION_NO_FAILED_SQLS'] = true; // true - if no statements failed in transaction, false - there are failed statements        $DB['SELECT_COUNT'] = 0; // stats        $DB['EXECUTE_COUNT'] = 0;        if (!isset($DB['TYPE'])) {                $error = 'Unknown database type.';                $result = false;        }        else {                $DB['TYPE'] = zbx_strtoupper($DB['TYPE']);                switch ($DB['TYPE']) {                        case ZBX_DB_MYSQL:                                $DB['DB'] = @mysqli_connect($DB['SERVER'], $DB['USER'], $DB['PASSWORD'], $DB['DATABASE'], $DB['PORT']);                                if (!$DB['DB']) {                                        $error = 'Error connecting to database ['.trim(mysqli_connect_error()).']';                                        $result = false;                                }                                else {                                        DBexecute('SET NAMES utf8');                                }                                if ($result) {                                        $dbBackend = new MysqlDbBackend();                                }                                break;                        case ZBX_DB_POSTGRESQL:                                $pg_connection_string =                                        (!empty($DB['SERVER']) ? 'host=/''.pg_connect_escape($DB['SERVER']).'/' ' : '').                                        'dbname=/''.pg_connect_escape($DB['DATABASE']).'/' '.                                        (!empty($DB['USER']) ? 'user=/''.pg_connect_escape($DB['USER']).'/' ' : '').                                        (!empty($DB['PASSWORD']) ? 'password=/''.pg_connect_escape($DB['PASSWORD']).'/' ' : '').                                        (!empty($DB['PORT']) ? 'port='.pg_connect_escape($DB['PORT']) : '');                                $DB['DB']= @pg_connect($pg_connection_string);                                if (!$DB['DB']) {                                        $error = 'Error connecting to database';                                        $result = false;                                }                                elseif (false !== ($pgsql_version = pg_parameter_status('server_version'))) {                                        if ((int) $pgsql_version >= 9) {                                                // change the output format for values of type bytea from hex (the default) to escape                                                DBexecute('SET bytea_output = escape');                                        }                                }                                if ($result) {                                        $dbBackend = new PostgresqlDbBackend();                                }                                break;                        case ZBX_DB_Oracle:                                $connect = '';                                if (!empty($DB['SERVER'])) {                                        $connect = '//'.$DB['SERVER'];                                        if ($DB['PORT'] != '0') {                                                $connect .= ':'.$DB['PORT'];                                        }                                        if ($DB['DATABASE']) {                                                $connect .= '/'.$DB['DATABASE'];                                        }                                }                                $DB['DB'] = @oci_connect($DB['USER'], $DB['PASSWORD'], $connect);                                if ($DB['DB']) {                                        DBexecute('ALTER session SET NLS_NUMERIC_CHARACTERS='.zbx_dbstr('. '));                                }                                else {                                        $error = 'Error connecting to database';                                        $result = false;                                }                                if ($result) {                                        $dbBackend = new OracleDbBackend();                                }                                break;                        case ZBX_DB_DB2:                                $connect = '';                                $connect .= 'DATABASE='.$DB['DATABASE'].';';                                $connect .= 'HOSTNAME='.$DB['SERVER'].';';                                $connect .= 'PORT='.$DB['PORT'].';';                                $connect .= 'PROTOCOL=TCPIP;';                                $connect .= 'UID='.$DB['USER'].';';                                $connect .= 'PWD='.$DB['PASSWORD'].';';                                $DB['DB'] = @db2_connect($connect, $DB['USER'], $DB['PASSWORD']);                                if (!$DB['DB']) {                                        $error = 'Error connecting to database';                                        $result = false;                                }                                else {                                        $options = array(                                                'db2_attr_case' => DB2_CASE_LOWER,                                        );                                        db2_set_option($DB['DB'], $options, 1);                                        if (isset($DB['SCHEMA']) && $DB['SCHEMA'] != '') {                                                DBexecute('SET CURRENT SCHEMA='.zbx_dbstr($DB['SCHEMA']));                                        }                                }                                if ($result) {                                        $dbBackend = new Db2DbBackend();                                }                                break;                        case ZBX_DB_SQLITE3:                                if (file_exists($DB['DATABASE'])) {                                        init_sqlite3_access();                                        lock_sqlite3_access();                                        try{                                                $DB['DB'] = @new SQLite3($DB['DATABASE'], SQLITE3_OPEN_READWRITE);                                        }                                        catch (Exception $e) {                                                $error = 'Error connecting to database';                                                $result = false;                                        }                                        unlock_sqlite3_access();                                }                                else {                                        $error = 'Missing database';                                        $result = false;                                }                                if ($result) {                                        $dbBackend = new SqliteDbBackend();                                }                                break;                        default:                                $error = 'Unsupported database';                                $result = false;                }        }        if ($result && !$dbBackend->checkDbVersion()) {                $error = $dbBackend->getError();                $result = false;        }        if (false == $result) {                $DB['DB'] = null;        }        return $result;}
View Code

1、mysql.sock文件位置問題

因為MySQL配置的路徑各異,sock做個軟連過去(上一步自檢php環境,按照上面修改php.ini即可,別忘重啟apach和zabbix)

cd /var/lib/mysql/ ;ln -s /export/zabbix/mysql_socket/mysql.sock mysql.sock

2、SELinux和iptables影響

service iptables stop

/usr/sbin/sestatus -v ##如果SELinux status參數為enabled即為開啟狀態修改/etc/selinux/config 文件將SELINUX=enforcing改為SELINUX=disabled,然后reboot,注意最好先停掉mysql進程

3、測試

ie訪問部署的這臺機器比如192.168.1.2/zabbix,ie字體小,遨游和Chrome好點

然后特么進不去頁面,各種檢查

zabbix log 有/tmp/zabbix_server.log 和zabbix_agentd.log

httpd log /var/log/httpd/errlog。。。

然后想起來IE代理這個情況...買了個表

其他頁面設置可以參考文章首的第一個鏈接

問題1:字體問題參考鏈接

http://blog.chinaunix.net/uid-11121450-id-3296646.html

問題2:頁面的歷史記錄(history)亂碼變成???>???>???

安裝時在導入三個sql文件時,zabbix數據庫中創建的表的字符集是latin1,修改為utf8,如果Zabbix里面沒有建主機和監控項就drop databases,配置文件修改如下:

[mysqld]  ##這個節點下面增加default-character-set = utf8

http://www.haogongju.net/art/2418891

問題3:啟動zabbix_server提示缺失lib模塊

[root@zabbixserver lib]# service zabbix_server start zabbix_server: error while loading shared libraries: libmysqlclient.so.18: cannot open shared object file: No such file or directory[root@zabbixserver lib]# ln -s /usr/local/mysql/lib/libmysqlclient.so.18 /usr/lib64/

下面的可以忽略

Zabbix自帶的mysql監控的配置

因為Zabbix自帶的監控腳本取的數據較少,還需要自己改一些東西,所以最后用的mysql_performance_monitor,所以帶刪除線的這塊可以忽略

http://os.51cto.com/art/201104/253006.htm

http://my.oschina.net/zhongjuan/blog/89412

http://www.it165.net/os/html/201210/3677.html

上文中提到的xml和php獲取地址

https://www.zabbix.com/wiki/howto/monitor/db/mysql/extensive_mysql_monitoring_including_replication

拿到xml以后,在zabbix中文界面里面的【組態】-【模板】的右邊有一個【匯入】,把xml模板導入

php腳本需要放到監控機,配置文件目錄/usr/local/zabbix/etc/

根據本機環境。第一行加入:#!/usr/bin/php在最后一行加入:?>關閉調試:define('DEBUG',true); 為 define('DEBUG',False);修改日志、數據文件路徑:define('LOG',"/tmp/zabbix_".SYSTEM.".log");define('DAT',"/tmp/zabbix_".SYSTEM.".dat");define('UTIME',"/tmp/.zabbix_".SYSTEM.".utime");define('DTIME',"/tmp/.zabbix_".SYSTEM.".dtime");修改:define('SYSTEM','mysql'.(DEBUG ? "-debug" : "")); 為:define('SYSTEM','mysql');打開系統日志功能://system("zabbix_sender -z $server -i ".DAT." >> ".LOG); 為:system("zabbix_sender -z $server -i ".DAT." >> ".LOG);注釋file_put_contents(DAT,"$server $host 10051 ".SYSTEM.".$var $val/n",FILE_APPEND);且下面增加以下文字:$cmd = "zabbix_sender -c $config_path -k ".SYSTEM.".$var -o $val -vv";file_put_contents(DAT,"$cmd/n",FILE_APPEND);exec($cmd);
View Code

在zabbix_agentd.conf配置文件中加入

這個php報錯還是需要注意的

UserParameter=mysql.daily,php /etc/zabbix/mysql.php daily 用戶名 密碼UserParameter=mysql.live,php /etc/zabbix/mysql.php live 用戶名 密碼daily:每天執行一次。【由zabbix_server輪詢發起,默認86640秒即一天 zabbix agent類型 UDP協議】live:按指定時間執行一次。【由zabbix_server輪詢發起,默認120秒 zabbix agent類型 UDP協議】php :執行php文件/etc/zabbix/mysql.php:mysql.php文件所在的文件路徑用戶名 密碼:登錄mysql數據庫的賬戶與密碼重啟zabbix_agentd
View Code

mysql.php里面還需要zabbix/bin下的部分執行文件的環境變量,否則會報一些錯誤,具體問題具體分析,修改mysql.php或者php.ini

sh: zabbix_sender: command not found

cd /usr/bin/ ;ln -s /usr/local/zabbix/bin/zabbix_sender zabbix_sender

ln -s /usr/local/zabbix/bin/zabbix_get zabbix_get

報錯:

PHP Warning: Division by zero in /usr/local/zabbix/etc/mysql.php on line 470PHP Warning: Division by zero in /usr/local/zabbix/etc/mysql.php on line 471PHP Warning: Division by zero in /usr/local/zabbix/etc/mysql.php on line 472

chown zabbix.zabbix /tmp/zabbix_*

mysql.php 監控文件里面的命令執行失敗大部分由于授權或者環境變量影響,/tmp下的日志文件屬主權限、用戶的.bash_profile是否導入,檢查php zabbix_sender mysql的環境變量

因為Zabbix提供的監控腳本和監控項不太好用,所以決定使用第三方的一個插件mysql_performance_monitor!!!

【MPM】

1、安裝環境

yum install -y perl-libwww-perl perl-File-Which perl-DBD-MySQL perl-Digest-SHA1 perl-Digest-SHAperl-Crypt-SSLeayperl-Time-HiRes

參考地址

http://blog.chinaunix.net/uid-451-id-3338674.html

http://www.fromdual.com/download#mpm

2、安裝mpm

[root@zabbixserver package]# tar -zxvf mysql_performance_monitor-0.9.2.tar.gz[root@zabbixserver package]# mv mysql_performance_monitor_agent mpm[root@zabbixserver package]# mv mpm /usr/local/#配置文件,配置詳細看下面[root@zabbixserver package]# vim /etc/zabbix_mpm.conf[root@zabbixserver package]# chown zabbix /etc/zabbix_mpm.conf[root@zabbixserver package]# mkdir /var/log/zabbix[root@zabbixserver package]# touch /var/log/zabbix/FromDualMySQLagent.log[root@zabbixserver package]# chown -R zabbix:zabbix /var/log/zabbix#UserParameter的值修改為:注意mpm配置位置[root@zabbixserver mpm]# vim /usr/local/zabbix/etc/zabbix_agentd.confUserParameter=FromDual.MySQL.check,/usr/local/mpm/FromDualMySQLagent.pl /usr/local/mpm/zabbix_mpm.conf[root@zabbixserver bin]# usermod -G mysql zabbix

3、導入xml模板

修改主機系統名、Zabbix_server/agentd配置文件的必須一致,與zabbix web新建的主機名必須一致

xml模板沒必要都導入,可以先將MySQL.mpm(前綴刪了),對應agent配置也先加這一個,后期需要可以逐步加模板及監控項

MPM Server的配置(MPM Server監控自己zabbix server的MySQL)

[default]Type         = mysqldDebug         = 2LogFile       = /var/log/zabbix/FromDualMySQLagent.logCacheFileBase = /var/log/zabbix/cache/FromDualAgentCacheUsername     = zabbixPassword     = zabbixMysqlHost    = 127.0.0.1MysqlPort    = 3306ZabbixServer = localhostDisabled     = false[zabbixserver]Type         = mysqldMysqlPort    = 3306Modules      = mpm innodb mysql process serverPidFile      = /export/zabbix/mysql_data/mysql.pid
View Code

MPM Agent的配置

Type         = mysqldDebug         = 2LogFile       = /var/log/zabbix/FromDualMySQLagent.logCacheFileBase = /var/log/zabbix/cache/FromDualAgentCacheUsername     = zabbixPassword     = zabbixMysqlHost    = localhostMysqlPort    = 3358ZabbixServer = 192.168.201.107Disabled     = false[cobbler]Type         = mysqldMysqlPort    = 3306Modules      = mpm innodb mysql process serverPidFile      = /export/data/mysql/data/mysql.pid
View Code

4、報錯及分析

(1)、MPM報找不到mysql.pid

#FromDualMySQLagent.log報找不到mysql.pid15454:2014-06-27 10:28:33.222 - ERR : Cannot read PID file /export/zabbix/mysql_data/mysql.pid. Either file does not exist or I have no read permissions. Are you sure the process is running?#修改一下權限[root@zabbixserver bin]# usermod -G mysql zabbix

(2)、MPM說某個模塊不存在,分析

#報FromDualMySQLinnodb模塊不存在15454:2014-06-27 10:28:33.146 - ERR : Module FromDualMySQLinnodb does not exist.ERR : Can't locate Digest/SHA.pm in @INC (@INC contains: /usr/local/mpm/lib /usr/local/lib64/perl5 /usr/local/share/perl5 /usr/lib64/perl5/vendor_perl /usr/share/perl5/vendor_perl /usr/lib64/perl5 /usr/share/perl5 .) at /usr/local/mpm/lib/InnoDbStatus.pm line 9.BEGIN failed--compilation aborted at /usr/local/mpm/lib/InnoDbStatus.pm line 9.Compilation failed in require at /usr/local/mpm/lib/FromDualMySQLinnodb.pm line 26.BEGIN failed--compilation aborted at /usr/local/mpm/lib/FromDualMySQLinnodb.pm line 26.Compilation failed in require at (eval 15) line 3.#先把mpm配置文件中的對應模塊刪除,zabbix web中主機關聯的模板刪除,然后重啟agentd,看看是否還繼續報錯,如果不報了找對應模塊的問題#這個問題是因為perl少安裝一個perl-Digest-SHA依賴包

下面的斜體部分都屬于報錯、排錯部分,是針對某些非MPM官網包出現的問題,如果是官網下的MPM可以直接忽略...還是踏踏實實官網下載,別論壇或者扒別人的

測試及報錯分析->>源地址http://634871.blog.51cto.com/624871/1382835

[root@localhost cache]# /usr/local/mpm/FromDualMySQLagent.pl /etc/zabbix_mpm.conf 1[root@localhost ~]# tail -f /var/log/zabbix/FromDualMySQLagent.log 29318:2014-05-07 14:03:45.553 - INFO: FromDual Performance Monitor for MySQL (0.9.1) run started.29318:2014-05-07 14:03:45.575 - WARN:       127.0.0.1, 10051, zabbix_server29318:2014-05-07 14:03:45.575 - WARN:       Connection to zabbix server failed (rc=1305)!29318:2014-05-07 14:03:45.620 - WARN:       127.0.0.1, 10051, zabbix_server29318:2014-05-07 14:03:45.620 - WARN:       Connection to zabbix server failed (rc=1305)!29318:2014-05-07 14:03:45.628 - WARN:       127.0.0.1, 10051, zabbix_server29318:2014-05-07 14:03:45.628 - WARN:       Connection to zabbix server failed (rc=1305)!29318:2014-05-07 14:03:45.650 - WARN:       127.0.0.1, 10051, zabbix_server29318:2014-05-07 14:03:45.650 - WARN:       Connection to zabbix server failed (rc=1305)!29318:2014-05-07 14:03:45.656 - WARN:       127.0.0.1, 10051, zabbix_server29318:2014-05-07 14:03:45.656 - WARN:       Connection to zabbix server failed (rc=1305)!29318:2014-05-07 14:03:45.670 - WARN:       127.0.0.1, 10051, zabbix_server29318:2014-05-07 14:
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 上高县| 甘南县| 广东省| 青河县| 瓮安县| 兴仁县| 巢湖市| 湟中县| 左贡县| 砚山县| 凌海市| 浮梁县| 富顺县| 西藏| 观塘区| 嵊州市| 锡林浩特市| 长汀县| 剑川县| 博白县| 灵宝市| 三河市| 旬阳县| 沈丘县| 瓮安县| 大庆市| 九寨沟县| 岳池县| 迁西县| 灵寿县| 启东市| 秭归县| 闽侯县| 永定县| 赣榆县| 特克斯县| 察雅县| 东丰县| 新泰市| 崇礼县| 嘉黎县|