少妇被又大又粗又爽毛片久久黑人,国产无遮挡又黄又爽免费视频,18禁男女爽爽爽午夜网站免费,成全动漫影视大全在线观看国语

3.12 升級Zabbix

3.12 升級Zabbix

升級Zabbix分為兩種情況:一是同版本升級,不涉及數據庫的升級更新;二是跨版本升級,涉及數據庫表結構的更改。

3.12.1 同版本升級的方法

同版本升級,執行命令即可,以下是操作步驟。

(1)備份軟件相關文件和配置文件,命令如下:

shell# mkdir -p /data/zabbix/backup
shell# cp -r /etc/zabbix  /data/zabbix/backup/zabbix_conf
shell# cp -r /usr/share/zabbix /data/zabbix/backup/zabbix_web
shell# cp -r /usr/sbin/zabbix_server /data/zabbix/backup/zabbix_server
shell# cp -r /usr/sbin/zabbix_proxy /data/zabbix/backup/zabbix_proxy
shell# cp -r /usr/share/doc/zabbix-* /data/zabbix-backup/

(2)備份數據庫,使用本章3.9.2節的備份腳本進行。

(3)升級軟件,相關操作命令如下:

shell# rpm -Uvh  class="bold">release-4.0-1.el7.centos.noarch.rpm
shell# systemctl stop zabbix-server    #停止zabbix-server
shell# systemctl stop zabbix-proxy     #停止zabbix-proxy
shell#  yum  upgrade  zabbix-server-mysql  zabbix-web-mysql  zabbix-agent zabbix-get -y
shell# systemctl start zabbix-server  #開啟zabbix-server
shell# systemctl start zabbix-proxy   #開啟zabbix-proxy
shell# ps -ef |grep zabbix             #查看進程
shell# tail -f /var/log/zabbix/zabbix_server.log #查看日志

3.12.2 跨版本升級的方法

跨版本升級,其步驟與同版本升級的步驟一致。由于之前版本存有監控數據,因此在升級過程中執行SQL語句更改的速度會比較慢。一般跨版本升級不會涉及history、trends這些存儲監控歷史數據的表結構的改動,故升級過程時間不會特別長,具體視數據庫狀況和服務器性能而定。

從啟動zabbix_server進程的那一刻起,后臺就執行了對表結構進行更改的操作,此過程不可逆。此時,切記不可以強行中斷zabbix_server進程;否則,再次啟動進程,可能會造成表結構更改失敗的后果,從而導致升級失敗。如果遇到這種情況,最簡單的方法是將表結構刪除(history、trends表需保留),使用之前的備份進行恢復,等數據庫恢復完成后,再重新啟動zabbix_server進程,數據庫可再次進行自動升級。

3.12.3 數據庫自動升級的原理

數據庫升級的過程是由zabbix_server進程自動執行的,升級語句包含在代碼中,有ALTER、UPDATE等SQL語句。

#代碼位于
static int  DBpatch_3050069(void)
{
    int res;

    res = DBexecute(
        "update widget_field"
        " set name='itemids'"
        " where name='itemid'"
            " and exists ("
                "select null"
                " from widget w"
                " where widget_field.widgetid=w.widgetid"
                    " and w.type='plaintext'"
            ")");

    if(ZBX_DB_OK > res)
        return FAIL;

    return SUCCEED;
}

3.12.4 升級失敗的處理案例

以下案例由筆者好友湯永全提供。升級失敗的原因是在升級過程中,意外中斷了zabbix_server進程,致使表結構更改不成功,間接導致zabbix_server更新失敗。通過查詢zabbix_server.log的日志,可以看到如下提示:

12259:20181011:145325.324 Starting Zabbix Server. Zabbix 4.0.0(revision 85308).
12259:20181011:145325.324 ****** Enabled features ******
12259:20181011:145325.324 SNMP monitoring:           YES
12259:20181011:145325.324 IPMI monitoring:           YES
12259:20181011:145325.324 Web monitoring:             YES
12259:20181011:145325.324 VMware monitoring:         YES
12259:20181011:145325.324 SMTP authentication:       YES
12259:20181011:145325.324 Jabber notifications:      YES
12259:20181011:145325.324 Ez Texting notifications:  YES
12259:20181011:145325.324 ODBC:                       YES
12259:20181011:145325.324 SSH2 support:               YES
12259:20181011:145325.324 IPv6 support:               YES
12259:20181011:145325.324 TLS support:                YES
12259:20181011:145325.324 ******************************
12259:20181011:145325.324 using configuration file:/etc/zabbix/zabbix_server.conf
12259:20181011:145325.328 current database version (mandatory/optional):03050047/03050047
12259:20181011:145325.328 required mandatory version: 04000000

為了更清楚地了解為何更新失敗,將zabbix_server.conf的日志級別改為Debug模式,重新啟動,可以看到如下錯誤提示:

12988:20181011:145847.827 [Z3005] query failed: [1060] Duplicate column name  'query_fields'  [alter  table  `items`  add  `query_fields`  varchar(2048)default '' not null]
  12988:20181011:145847.827 query [alter table `items` add `query_fields`varchar(2048) default '' not null] failed, setting transaction as failed
  12988:20181011:145847.827 query [txnlev:1] [rollback; ]
  12988:20181011:145847.827 database upgrade failed
  12988:20181011:145847.827 End of DBcheck_version():FAIL
  13008:20181011:145858.079 Starting Zabbix Server. Zabbix 4.0.0
(revision 85308).

通過日志可以看到,是因為表結構無法添加字段而導致的更新失敗。查詢items表結構:

mysql> show create table items \G;
*************************** 1. row ***************************
        Table: items
Create Table: CREATE TABLE `items`(
`itemid` bigint(20)unsigned NOT NULL,
......省略部分輸出......
`state` int(11)NOT NULL DEFAULT '0',
......省略部分輸出......
`url` varchar(2048)COLLATE utf8_bin NOT NULL DEFAULT '',
`query_fields` varchar(2048) COLLATE utf8_bin NOT NULL DEFAULT '',
  PRIMARY KEY(`itemid`),
  UNIQUE KEY `items_1`(`hostid`, `key_`),
  KEY `items_3`(`status`),
......省略部分輸出......
)ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_bin

刪除提示錯誤的字段,命令如下:

mysql> alter table `items` DROP COLUMN `query_fields` ;

重啟zabbix_server進程,可以順利升級。

當然,這個案例只是個例,并不能保證100%成功解決問題。但是通過這個案例,我們可以清楚地知道,如果升級失敗,多半是由于表結構更新失敗導致的。最快的解決辦法是,通過恢復數據庫再次升級。如果讀者遇到這種情況,可參考本節介紹的處理辦法來解決。

帝師神少 席爺每天都想官宣阮柒席玖 去有你的地方 如果,愛有來生 玉淵錯:嫡女的快意人生謝玉淵孫蘭花 離婚之后 曼荼羅 古武異界縱橫 快穿:邪性BOSS,壞透了! 重回六零全能軍嫂

本站所有小說均由搜索引擎轉碼而來,只為讓更多讀者欣賞,本站不保存小說內容及數據,僅作宣傳展示。

Copyright © 2024 噠噠看書網sitemap