1+ # This is a configuration file for mamonsu
2+ # To get more information about mamonsu, visit https://postgrespro.ru/docs/postgrespro/12/mamonsu
3+
4+ ######### Connection parameters sections ##############
5+
6+ # specify connection parameters for the Postgres cluster
7+ # in the user, password, and database fields, you must specify the mamonsu_user, mamonsu_password,
8+ # and the mamonsu_database used for bootstrap, respectively.
9+ # if you skipped the bootstrap, specify a superuser credentials and the database to connect to.
10+
11+ [postgres]
12+ enabled = True
13+ user = mamonsu
14+ password = mamonsu
15+ database = mamonsu_test_db
16+ host = localhost
17+ port = 5432
18+ application_name = mamonsu
19+ query_timeout = 10
20+
21+ # the address field must point to the running Zabbix server, while the client field must provide the name of
22+ # the Zabbix host. You can find the list of hosts available for your account in the Zabbix web
23+ # interface under Configuration > Hosts.
24+ # re_send - True - in case of transmission error, mamonsu repeats sending metrics one by one to look in log metrics with error
25+
26+ [zabbix]
27+ enabled = True
28+ client = pg-master
29+ address = 127.0.0.1
30+ port = 10051
31+ re_send = False
32+
33+ ######### General parameters sections ############
34+
35+ # enable or disable collection of system metrics.
36+
37+ [system]
38+ enabled = True
39+
40+ # control the queue size of the data to be sent to the Zabbix server
41+
42+ [sender]
43+ queue = 2048
44+
45+ # specify the location of mamonsu and whether it is allowed to access metrics from the command line
46+
47+ [agent]
48+ enabled = True
49+ host = 127.0.0.1
50+ port = 10052
51+
52+ # specify custom plugins to be added for metrics collection
53+
54+ [plugins]
55+ enabled = False
56+ directory = /etc/mamonsu/plugins
57+
58+ # enable storing the collected metric data in text files locally.
59+
60+ [metric_log]
61+ enabled = False
62+ directory = /var/log/mamonsu
63+ max_size_mb = 1024
64+
65+ # specify logging settings for mamonsu
66+
67+ [log]
68+ file = /var/log/mamonsu/mamonsu.log
69+ level = DEBUG
70+ format = [%(levelname)s] %(asctime)s - %(name)s - %(message)s
71+
72+ ######### Individual Plugin Sections ############
73+
74+ # to disable any plugin set the enabled option to False.
75+ # modify collection interval for each plugin in the interval field.
76+ # set customer parameters for some plugins in the individual section.
77+ # below listed all available parameters for each plugin to modify.
78+
79+ [health]
80+ max_memory_usage = 41943040
81+ interval = 60
82+
83+ [bgwriter]
84+ interval = 60
85+
86+ [connections]
87+ percent_connections_tr = 90
88+ interval = 60
89+
90+ [databases]
91+ bloat_scale = 0.2
92+ min_rows = 50
93+ interval = 300
94+
95+ [pghealth]
96+ uptime = 600
97+ cache = 80
98+ interval = 60
99+
100+ [instance]
101+ interval = 60
102+
103+ [xlog]
104+ lag_more_than_in_sec = 300
105+ interval = 60
106+
107+ [pgstatstatement]
108+ interval = 60
109+
110+ [pgbuffercache]
111+ interval = 60
112+
113+ [pgwaitsampling]
114+ interval = 60
115+
116+ [checkpoint]
117+ max_checkpoint_by_wal_in_hour = 12
118+ interval = 300
119+
120+ [oldest]
121+ max_xid_age = 18000000
122+ max_query_time = 18000
123+ interval = 60
124+
125+ [pglocks]
126+ interval = 60
127+
128+ [cfs]
129+ force_enable = False
130+ interval = 60
131+
132+ [archivecommand]
133+ max_count_files = 2
134+ interval = 60
135+
136+ [procstat]
137+ interval = 60
138+
139+ [diskstats]
140+ interval = 60
141+
142+ [disksizes]
143+ vfs_percent_free = 10
144+ vfs_inode_percent_free = 10
145+ interval = 60
146+
147+ [memory]
148+ interval = 60
149+
150+ [systemuptime]
151+ up_time = 300
152+ interval = 60
153+
154+ [openfiles]
155+ interval = 60
156+
157+ [net]
158+ interval = 60
159+
160+ [la]
161+ interval = 60
162+
163+ [zbxsender]
164+ interval = 10
165+
166+ [logsender]
167+ interval = 2
168+
169+ [agentapi]
170+ interval = 60
171+
172+ # Get age (in seconds) of the oldest running prepared transaction and number of all prepared transactions for two-phase commit.
173+ # https://www.postgresql.org/docs/current/sql-prepare-transaction.html
174+ # https://www.postgresql.org/docs/12/view-pg-prepared-xacts.html
175+ # max_prepared_transaction_time - age of prepared transaction in seconds.
176+ # If pgsql.prepared.oldest exceeds max_prepared_transaction_time the trigger fires.
177+ [preparedtransaction]
178+ max_prepared_transaction_time = 60
179+ interval = 60
180+
181+ # Get size of backup catalogs stroring all WAL and backup files using pg_probackup
182+ # (https://github.com/postgrespro/pg_probackup)
183+ # Trigger fires if some backup has bad status e.g. (ERROR,CORRUPT,ORPHAN).
184+ [pgprobackup]
185+ enabled = False
186+ interval = 300
187+ backup_dirs = /backup_dir1,/backup_dir2
188+ pg_probackup_path = /usr/bin/pg_probackup-11
189+
190+ # Get size of relations defined in this section
191+ # Relations - comma separated list of objects - tables and endexes (database_name.schema.relation) used to calculate relations size.
192+ # Example:
193+ # relations=postgres.pg_catalog.pg_class,postgres.pg_catalog.pg_user
194+ # If the relation is blocked by some process such as vacuum full or create index, the result will be -1
195+ # by default this plugin disabled. To enable this plugin - set bellow "enabled = False" and define a list of relations.
196+ [relationssize]
197+ enabled = False
198+ relations=postgres.pg_catalog.pg_class,postgres.pg_catalog.pg_user
199+ interval = 300
200+
201+ # This plugin allows detects possible memory leaks while working with PostgreSQL using /proc/pid/status and /proc/pid/statm
202+ # We use RES and SHR difference to calculate approximate volume of private anonymous backend memory.
203+ # If it exceeds private_anon_mem_threshold then that pid will be added to a message. An example is presented below
204+ # statm - 'pid: {pid}, RES {RES} - SHR {SHR} more then {private_anon_mem_threshold}\n'
205+ # Since Linux 4.5 RssAnon, RssFile and RssShmem have been added.
206+ # They allows to distinguish types of memory such as private anonymous, file-backed, and shared anonymous memory.
207+ # We are interested in RssAnon. If its value exceeds private_anon_mem_threshold then that pid will also be added to a message.
208+ # By default this plugin disabled. To enable this plugin - set bellow "enabled = False"
209+ # #interval - (onitoring frequency in seconds. 60 seconds by default
210+ # private_anon_mem_threshold - memory volume threshold after which we need an investigation about memory leak. 1GB by default.
211+ # Possible values MB, GB, TB. For example 1GB
212+ [memoryleakdiagnostic]
213+ enabled = False
214+ interval = 60
215+ private_anon_mem_threshold = 1GB
0 commit comments