Skip to content

Commit

Permalink
Update zabbix source up to 5.0.19
Browse files Browse the repository at this point in the history
  • Loading branch information
CHERTS committed Dec 28, 2021
1 parent a495dff commit e9466b4
Show file tree
Hide file tree
Showing 128 changed files with 19,206 additions and 17,690 deletions.
4 changes: 2 additions & 2 deletions .github/workflows/linux.yml
Original file line number Diff line number Diff line change
Expand Up @@ -24,9 +24,9 @@ jobs:
uses: actions/checkout@v2
- name: Delete old binary
run: |
rm -rf ./bin/aix_7.1 2>/dev/null
rm -rf ./bin/aix 2>/dev/null
rm -rf ./bin/rhel 2>/dev/null
rm -rf ./bin/ubuntu 2>/dev/null
rm -rf ./bin/ubuntu_only_pgsql 2>/dev/null
rm -rf ./bin/win32/*.dll 2>/dev/null
rm -rf ./bin/win32/*.exe 2>/dev/null
rm -rf ./bin/win32/*.cmd 2>/dev/null
Expand Down
4 changes: 2 additions & 2 deletions .github/workflows/linux_oracle.yml
Original file line number Diff line number Diff line change
Expand Up @@ -24,9 +24,9 @@ jobs:
uses: actions/checkout@v2
- name: Delete old binary
run: |
rm -rf ./bin/aix_7.1 2>/dev/null
rm -rf ./bin/aix 2>/dev/null
rm -rf ./bin/rhel 2>/dev/null
rm -rf ./bin/ubuntu 2>/dev/null
rm -rf ./bin/ubuntu_only_pgsql 2>/dev/null
rm -rf ./bin/win32/*.dll 2>/dev/null
rm -rf ./bin/win32/*.exe 2>/dev/null
rm -rf ./bin/win32/*.cmd 2>/dev/null
Expand Down
4 changes: 2 additions & 2 deletions .github/workflows/prerelease.yml
Original file line number Diff line number Diff line change
Expand Up @@ -30,9 +30,9 @@ jobs:
uses: actions/checkout@v2
- name: Delete old binary
run: |
rm -rf ./bin/aix_7.1 2>/dev/null
rm -rf ./bin/aix 2>/dev/null
rm -rf ./bin/rhel 2>/dev/null
rm -rf ./bin/ubuntu 2>/dev/null
rm -rf ./bin/ubuntu_only_pgsql 2>/dev/null
rm -rf ./bin/win32/*.dll 2>/dev/null
rm -rf ./bin/win32/*.exe 2>/dev/null
rm -rf ./bin/win32/*.cmd 2>/dev/null
Expand Down
5 changes: 2 additions & 3 deletions .github/workflows/release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -28,10 +28,9 @@ jobs:
uses: actions/checkout@v2
- name: Delete old binary
run: |
rm -rf ./bin/aix_7.1 2>/dev/null
rm -rf ./bin/ol7_oracle 2>/dev/null
rm -rf ./bin/aix 2>/dev/null
rm -rf ./bin/rhel 2>/dev/null
rm -rf ./bin/ubuntu 2>/dev/null
rm -rf ./bin/ubuntu_only_pgsql 2>/dev/null
rm -rf ./bin/win32/*.pdb 2>/dev/null
rm -rf ./bin/win32/*.dll 2>/dev/null
rm -rf ./bin/win32/*.exe 2>/dev/null
Expand Down
48 changes: 48 additions & 0 deletions ChangeLog
Original file line number Diff line number Diff line change
@@ -1,3 +1,38 @@
Changes for 5.0.19

5.0.19rc2 was released as 5.0.19 without any changes

--------------------------------------------------------------------------------
Changes for 5.0.19rc2

Bug fixes:
..F....... [ZBX-20382] updated jquery version (ashubin)
.....J.... [ZBX-20383] updated logback-core, logback-classic and slf4j-api jars to the latest stable versions (vso)
..F.I..... [ZBX-20384] fixed possibility to view setup pages by non-superadmin if config already file exists (averza)
..F....... [ZBX-20388] fixed XSS vulnerability in multiselect (agriscenko)

--------------------------------------------------------------------------------
Changes for 5.0.19rc1

New features:
.......PS. [ZBXNEXT-7100] added new LLD macro HV.NETNAME to vmware.hv.discovery (MVekslers)

Bug fixes:
A......... [ZBX-20328] fixed incomplete inheritance of items, item prototypes, lld rules, host prototypes, when user with type "Admin" was edited them on template which is linked to non-permitted for him templates or hosts (vmaksimovs)
...G...PS. [ZBX-20236] improved memory consumption in Zabbix proxy trappers by moving configuration sync between database and cache to configuration syncer; improved trappers and listeners memory consumption by freeing received data after it was processed instead of after new data is received (vso)
.......PS. [ZBX-20341] moved zbx_ipc_service_init_env() to MAIN_ZABBIX_ENTRY (vso, yurii)
.........T [ZBX-20060] fixed trigger expression for memory monitoring in F5 Big-IP SNMP template (abakaldin)
.........T [ZBX-20075] fixed trigger expression for certificate monitoring in F5 Big-IP SNMP template (abakaldin)
.........T [ZBX-19704] fixed item pattern in "Zabbix server health" dashboard (abakaldin)
.......... [ZBX-20240] added integration tests for trigger state (ssimonenko)
.........T [ZBX-18389] fixed sql query for 32 and 64 bit xids postgresql versions in postgresql by user parameters template (vkhaliev)
.........T [ZBX-18474] fixed filters regex in OS Windows template (abiba)
........S. [ZBX-19651] fixed problem escalation when at least one of the hosts in a trigger expression is not in maintenance (dgoloscapov)
...G.....T [ZBX-19897] updated postgresql templates and plugin files (vkhaliev)
.........T [ZBX-20212] fixed max columns values for screens in linux templates (vkhaliev)
...G...... [ZBX-20192] fixed quote expansion in command execution in agent2 on windows (dgoloscapov)

--------------------------------------------------------------------------------
Changes for 5.0.18

5.0.18rc1 was released as 5.0.18 without any changes
Expand Down Expand Up @@ -2312,6 +2347,19 @@ New features:
A.F.I...S. [ZBXNEXT-4853,ZBXNEXT-517] added ability to send email messages in HTML format on demand (MVekslers, vasilijs)
..F.....S. [ZBXNEXT-1282,ZBXNEXT-4730] added changes to introduce regex based matching for auto-registration (vasilijs, viktors)

--------------------------------------------------------------------------------
Changes for 4.0.37

4.0.37rc1 was released as 4.0.37 without any changes

--------------------------------------------------------------------------------
Changes for 4.0.37rc1

Bug fixes:
..F....... [ZBX-20382] updated jquery version (ashubin)
.....J.... [ZBX-20383] updated logback-core, logback-classic and slf4j-api jars to the latest stable versions (vso)
..F.I..... [ZBX-20384] fixed possibility to view setup pages by non-superadmin if config already file exists (averza)

--------------------------------------------------------------------------------
Changes for 4.0.36

Expand Down
77 changes: 43 additions & 34 deletions conf/zabbix_agentd_dbmon.sql.conf
Original file line number Diff line number Diff line change
@@ -1,18 +1,18 @@
queries = {

# MySQL version
# Example query: MySQL version
# zabbix_get.exe -s 127.0.0.1 -k mysql.query.nojson[127.0.0.1,3306,mysqlver]
# Result:
# 5.7.29-log
mysqlver = "SELECT /*DBS_001*/ VERSION() AS VERSION;";

# MySQL info:
# Example query: MySQL info
# zabbix_get.exe -s 127.0.0.1 -k mysql.query.onerow[127.0.0.1,3306,mysqlinfo]
# Result:
# {"SERVER_UUID":"07e11217-5fb1-11ea-818e-00155d4ed51b","VERSION":"5.7.29-log"}
mysqlinfo = "SELECT /*DBS_002*/ UUID() AS SERVER_UUID, VERSION() AS VERSION;";

# MySQL database discovery:
# Example query: MySQL database discovery
# zabbix_get.exe -s 127.0.0.1 -k mysql.query.discovery[127.0.0.1,3306,mysqldbdiscovery]
# Result:
# [
Expand All @@ -30,7 +30,7 @@ mysqldbdiscovery = "SELECT /*DBS_003*/ s.SCHEMA_NAME AS DBNAME "
"FROM information_schema.schemata s WHERE s.SCHEMA_NAME NOT REGEXP '(information_schema|performance_schema)' "
"GROUP BY s.SCHEMA_NAME;";

# MySQL all database info
# Example query: MySQL all database info
# zabbix_get.exe -s 127.0.0.1 -k mysql.query.multirow[127.0.0.1,3306,mysqldbinfo]
# Result:
# [
Expand Down Expand Up @@ -72,7 +72,7 @@ mysqldbinfo = "SELECT /*DBS_004*/ s.SCHEMA_NAME AS DBNAME, "
"FROM information_schema.schemata s INNER JOIN information_schema.tables t ON s.SCHEMA_NAME = t.TABLE_SCHEMA "
"WHERE s.SCHEMA_NAME NOT REGEXP '(information_schema|performance_schema)' GROUP BY s.SCHEMA_NAME;";

# MySQL InnoDB engine status
# Example query: MySQL InnoDB engine status
# zabbix_get.exe -s 127.0.0.1 -k mysql.query.nojson[127.0.0.1,3306,mysqlinnodbenginestatus]
# Result:
#=====================================
Expand All @@ -95,34 +95,34 @@ mysqlinnodbenginestatus = "SHOW ENGINE INNODB STATUS;";
# Result:
mysql_show_bin_logs = "SHOW BINARY LOGS;";

# MySQL partitions info
# Example query: MySQL partitions info
# zabbix_get.exe -s 127.0.0.1 -k mysql.query.multirow[127.0.0.1,3306,mysql_part_info]
# Result:
mysql_part_info = "SELECT /*DBS_005*/ TABLE_SCHEMA, TABLE_NAME,PARTITION_NAME, IFNULL(TABLE_ROWS,0), "
"IFNULL(DATA_LENGTH,0), IFNULL(INDEX_LENGTH,0), IFNULL((DATA_LENGTH + INDEX_LENGTH),0) "
"FROM information_schema.partitions WHERE PARTITION_NAME IS NOT NULL;";

# MySQL replication applier status by worker
# Example query: MySQL replication applier status by worker
# zabbix_get.exe -s 127.0.0.1 -k mysql.query.multirow[127.0.0.1,3306,mysql_replication_applier_status_by_worker]
# Result:
mysql_replication_applier_status_by_worker = "SELECT /*DBS_006*/ * FROM performance_schema.replication_applier_status_by_worker;";

# MySQL replication group member stats
# Example query: MySQL replication group member stats
# zabbix_get.exe -s 127.0.0.1 -k mysql.query.multirow[127.0.0.1,3306,mysql_replication_group_member_stats]
# Result:
mysql_replication_group_member_stats = "SELECT /*DBS_007*/ MEMBER_ID,COUNT_TRANSACTIONS_IN_QUEUE,COUNT_TRANSACTIONS_CHECKED, "
"COUNT_CONFLICTS_DETECTED,COUNT_TRANSACTIONS_ROWS_VALIDATING "
"FROM performance_schema.replication_group_member_stats;";

# MySQL table IO waits stat
# Example query: MySQL table IO waits stat
# zabbix_get.exe -s 127.0.0.1 -k mysql.query.multirow[127.0.0.1,3306,mysql_table_io_waits]
# Result:
mysql_table_io_waits = "SELECT /*DBS_008*/ OBJECT_SCHEMA, OBJECT_NAME, COUNT_FETCH, COUNT_INSERT, COUNT_UPDATE, COUNT_DELETE, "
"SUM_TIMER_FETCH, SUM_TIMER_INSERT, SUM_TIMER_UPDATE, SUM_TIMER_DELETE "
"FROM performance_schema.table_io_waits_summary_by_table "
"WHERE OBJECT_SCHEMA NOT IN ('mysql', 'performance_schema');";

# MySQL table lock waits stat
# Example query: MySQL table lock waits stat
# zabbix_get.exe -s 127.0.0.1 -k mysql.query.multirow[127.0.0.1,3306,mysql_table_lock_waits_stat]
# Result:
mysql_table_lock_waits_stat = "SELECT /*DBS_009*/ OBJECT_SCHEMA, OBJECT_NAME, COUNT_READ_NORMAL, COUNT_READ_WITH_SHARED_LOCKS, COUNT_READ_HIGH_PRIORITY, COUNT_READ_NO_INSERT, "
Expand All @@ -131,19 +131,19 @@ mysql_table_lock_waits_stat = "SELECT /*DBS_009*/ OBJECT_SCHEMA, OBJECT_NAME, CO
"SUM_TIMER_WRITE_ALLOW_WRITE, SUM_TIMER_WRITE_CONCURRENT_INSERT, SUM_TIMER_WRITE_LOW_PRIORITY, SUM_TIMER_WRITE_NORMAL, SUM_TIMER_WRITE_EXTERNAL "
"FROM performance_schema.table_lock_waits_summary_by_table WHERE OBJECT_SCHEMA NOT IN ('mysql', 'performance_schema', 'information_schema');";

# PgSQL version
# Example query: PgSQL version
# zabbix_get.exe -s 127.0.0.1 -k pgsql.query.nojson["host=127.0.0.1 port=5432 dbname=postgres user=postgres password=XXXXX connect_timeout=3",pgsqlver]
# Result:
# PostgreSQL 12.2, compiled by Visual C++ build 1800, 64-bit
pgsqlver = "SELECT VERSION() AS VERSION;";

# PgSQL version (int)
# Example query: PgSQL version (int)
# zabbix_get.exe -s 127.0.0.1 -k pgsql.query.nojson["host=127.0.0.1 port=5432 dbname=postgres user=postgres password=XXXXX connect_timeout=3",pgsqlverint]
# Result:
# 120002
pgsqlverint = "SELECT current_setting('server_version_num')::int;";

# PgSQL database discovery:
# Example query: PgSQL database discovery:
# zabbix_get.exe -s 127.0.0.1 -k pgsql.query.discovery["host=127.0.0.1 port=5432 dbname=postgres user=postgres password=XXXXX connect_timeout=3",pgsqldbdiscovery]
# Result:
# [
Expand All @@ -161,31 +161,14 @@ pgsqlverint = "SELECT current_setting('server_version_num')::int;";
pgsqldbdiscovery = "SELECT d.oid AS OID, d.datname AS DBNAME, t.spcname AS TABLESPACE FROM pg_catalog.pg_database d "
"JOIN pg_catalog.pg_tablespace t on d.dattablespace = t.oid WHERE d.datallowconn = 't' AND d.datistemplate = 'n' ORDER BY 1;"

# PgSQL replication client number:
# Example query: PgSQL replication client number:
# zabbix_get.exe -s 127.0.0.1 -k pgsql.query.nojson["host=127.0.0.1 port=5432 dbname=postgres user=postgres password=XXXXX connect_timeout=3",pgsqlreplicationclientnum]
# Result:
# 0
pgsqlreplicationclientnum = "SELECT count(r.pid) AS REPLCLIENTNUM FROM pg_stat_replication r JOIN pg_replication_slots s ON s.active_pid = r.pid "
"WHERE s.temporary = false;"

# PgPool-II status:
# zabbix_get -s 127.0.0.1 -k pgsql.query.nojson["host = 127.0.0.1 port = 9999 dbname = postgres user=postgres password=XXXXX connect_timeout = 3",pgpool_ping]
# zabbix_get -s 127.0.0.1 -k pgsql.query.nojson["host = 127.0.0.1 port = 9999 dbname = postgres user=postgres password=XXXXX connect_timeout = 3",pgpool_version]
# zabbix_get -s 127.0.0.1 -k pgsql.query.multirow["host = 127.0.0.1 port = 9999 dbname = postgres user=postgres password=XXXXX connect_timeout = 3",pgpool_show_nodes]
# zabbix_get -s 127.0.0.1 -k pgsql.query.multirow["host = 127.0.0.1 port = 9999 dbname = postgres user=postgres password=XXXXX connect_timeout = 3",pgpool_show_cache]
# zabbix_get -s 127.0.0.1 -k pgsql.query.multirow["host = 127.0.0.1 port = 9999 dbname = postgres user=postgres password=XXXXX connect_timeout = 3",pgpool_show_status]
# zabbix_get -s 127.0.0.1 -k pgsql.query.multirow["host = 127.0.0.1 port = 9999 dbname = postgres user=postgres password=XXXXX connect_timeout = 3",pgpool_show_pools]
pgpool_ping = "select 1 as ping;"
pgpool_version = "show pool_version;"
pgpool_show_nodes = "show pool_nodes;"
pgpool_show_cache = "show pool_cache;"
pgpool_show_status = "show pool_status;"
pgpool_show_pools = "show pool_pools;"
# Only PGpool-II v 4.2
pgpool_show_health_check_stats = "show pool_health_check_stats;"
pgpool_show_backend_stats = "show pool_backend_stats;"

# Oracle get instance status
# Example query: Oracle get instance status
# zabbix_get.exe -s 127.0.0.1 -k oracle.query.nojson[127.0.0.1:1521/orcl,orcl,0,,oracleinstancestatus]
# Connection string ----------------------------------------| | | | |
# Instance name ----------------------------------------------------------| | | |
Expand All @@ -201,16 +184,42 @@ pgpool_show_backend_stats = "show pool_backend_stats;"
# OPEN |
oracleinstancestatus = "SELECT status FROM v$instance";

# Oracle get instance info (name, version, hostname, uptime)
# Example query: Oracle get instance info (name, version, hostname, uptime)
# zabbix_get.exe -s 127.0.0.1 -k oracle.query.onerow[127.0.0.1:1521/orcl,orcl,0,,oracleinstanceinfo]
# Result:
# {"INSTANCE_NAME":"orcl","VERSION":"18.0.0.0.0","HOST_NAME":"srv-orcl","UPTIME":"13412447"}
oracleinstanceinfo = "SELECT instance_name,version,host_name,to_char(round(((sysdate-startup_time)*60*60*24),0)) uptime FROM v$instance";

# Oracle get instance blocked sessions
# Example query: Oracle get instance blocked sessions
# zabbix_get.exe -s 127.0.0.1 -k oracle.query.nojson[127.0.0.1:1521/orcl,orcl,0,,oracleinstanceblocked]
# Result:
# 0
oracleinstanceblocked = "SELECT NVL(count(*),0) AS BLOCKED_NUM FROM gv$session a WHERE a.event like 'enq: T%lock contention'";

# Working query: PgPool-II status
# zabbix_get -s 127.0.0.1 -k pgsql.query.nojson["host = 127.0.0.1 port = 9999 dbname = postgres user=postgres password=XXXXX connect_timeout = 3",pgpool_ping]
# zabbix_get -s 127.0.0.1 -k pgsql.query.nojson["host = 127.0.0.1 port = 9999 dbname = postgres user=postgres password=XXXXX connect_timeout = 3",pgpool_version]
# zabbix_get -s 127.0.0.1 -k pgsql.query.multirow["host = 127.0.0.1 port = 9999 dbname = postgres user=postgres password=XXXXX connect_timeout = 3",pgpool_show_nodes]
# zabbix_get -s 127.0.0.1 -k pgsql.query.multirow["host = 127.0.0.1 port = 9999 dbname = postgres user=postgres password=XXXXX connect_timeout = 3",pgpool_show_cache]
# zabbix_get -s 127.0.0.1 -k pgsql.query.multirow["host = 127.0.0.1 port = 9999 dbname = postgres user=postgres password=XXXXX connect_timeout = 3",pgpool_show_status]
# zabbix_get -s 127.0.0.1 -k pgsql.query.multirow["host = 127.0.0.1 port = 9999 dbname = postgres user=postgres password=XXXXX connect_timeout = 3",pgpool_show_pools]
pgpool_ping = "select 1 as ping;"
pgpool_version = "show pool_version;"
pgpool_show_nodes = "show pool_nodes;"
pgpool_show_cache = "show pool_cache;"
pgpool_show_status = "show pool_status;"
pgpool_show_pools = "show pool_pools;"
# Only PGpool-II v 4.2
pgpool_show_health_check_stats = "show pool_health_check_stats;"
pgpool_show_backend_stats = "show pool_backend_stats;"

# Working query: ProxySQL status
proxysql_servers = "SELECT hostname, port FROM runtime_mysql_servers GROUP BY hostname, port;"
proxysql_stat_command = "SELECT Command, Total_cnt, cnt_100us, cnt_500us, cnt_1ms, cnt_5ms, cnt_10ms, cnt_50ms, cnt_100ms, cnt_500ms, "
"cnt_1s, cnt_5s, cnt_10s, cnt_INFs FROM stats.stats_mysql_commands_counters WHERE Command in "
"('COMMIT','ROLLBACK','SET','START_TRANSACTION','SELECT','INSERT','UPDATE','DELETE','SHOW_TABLE_STATUS','SHOW');"
proxysql_stat_connection = "SELECT srv_host, srv_port, status, SUM(ConnUsed) AS 'conn_used', SUM(ConnFree) AS 'conn_free', "
"SUM(ConnOK) AS 'conn_ok', SUM(ConnERR) AS 'conn_err', SUM(Queries) AS 'queries', SUM(Bytes_data_sent) AS 'bytes_sent', SUM(Bytes_data_recv) AS 'bytes_recv', "
"Latency_us AS 'latency' FROM stats.stats_mysql_connection_pool GROUP BY srv_host, srv_port;"

};
2 changes: 1 addition & 1 deletion configure.ac
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@ dnl

dnl Process this file with autoconf to produce a configure script.

AC_INIT([Zabbix],[5.0.18])
AC_INIT([Zabbix],[5.0.19])
AC_CONFIG_SRCDIR(src/zabbix_server/server.c)
AM_INIT_AUTOMAKE([subdir-objects filename-length-max=99])

Expand Down
Loading

0 comments on commit e9466b4

Please sign in to comment.