@@ -11,23 +11,24 @@ export ZABBIX_TEMPLATE_NAME='PostgresPro'
1111# install mamonsu
1212cp -a /var/tmp /root/mamonsu && pushd /root/mamonsu
1313yum install -y tar make rpm-build python3-devel python3-setuptools
14+
1415make rpm && yum install -y mamonsu* .rpm
1516
1617# install postgres
17- yum install -y https://download.postgresql.org/pub/repos/yum/9.5 /redhat/rhel-6 -x86_64/pgdg-redhat-repo-42.0-11.noarch.rpm
18- yum install -y postgresql95 -server postgresql95 -contrib
19- su postgres -c ' /usr/pgsql-9.5 /bin/initdb -D /var/lib/pgsql/9.5 /data'
20- su postgres -c ' /usr/pgsql-9.5 /bin/pg_ctl start -w -D /var/lib/pgsql/9.5 /data'
18+ yum install -y https://download.postgresql.org/pub/repos/yum/10 /redhat/rhel-7 -x86_64/pgdg-redhat-repo-42.0-11.noarch.rpm
19+ yum install -y postgresql10 -server postgresql10 -contrib
20+ su postgres -c ' /usr/pgsql-10 /bin/initdb -D /var/lib/pgsql/10 /data'
21+ su postgres -c ' /usr/pgsql-10 /bin/pg_ctl start -w -D /var/lib/pgsql/10 /data'
2122
2223# mamonsu tune
23- echo " shared_preload_libraries = '\"\$ libdir/pg_stat_statements\" '" > /var/lib/pgsql/9.5 /data/postgresql.auto.conf
24- su postgres -c ' /usr/pgsql-9.5 /bin/pg_ctl restart -w -D /var/lib/pgsql/9.5 /data'
24+ echo " shared_preload_libraries = '\"\$ libdir/pg_stat_statements\" '" > /var/lib/pgsql/10 /data/postgresql.auto.conf
25+ su postgres -c ' /usr/pgsql-10 /bin/pg_ctl restart -w -D /var/lib/pgsql/10 /data'
2526mamonsu tune
26- su postgres -c ' /usr/pgsql-9.5 /bin/pg_ctl restart -w -D /var/lib/pgsql/9.5 /data'
27- grep " shared_preload_libraries \= '\"\$ libdir/pg_stat_statements\" , pg_buffercache'" /var/lib/pgsql/9.5 /data/postgresql.auto.conf || (cat /var/lib/pgsql/9.5 /data/postgresql.auto.conf && exit 1)
27+ su postgres -c ' /usr/pgsql-10 /bin/pg_ctl restart -w -D /var/lib/pgsql/10 /data'
28+ grep " shared_preload_libraries \= '\"\$ libdir/pg_stat_statements\" , pg_buffercache'" /var/lib/pgsql/10 /data/postgresql.auto.conf || (cat /var/lib/pgsql/10 /data/postgresql.auto.conf && exit 1)
2829
2930# mamonsu report
30- (mamonsu report | grep version | grep ' PostgreSQL 9.5 ' ) || exit 2
31+ (mamonsu report | grep version | grep ' PostgreSQL 10 ' ) || exit 2
3132
3233# export config
3334cat << EOF > /etc/mamonsu/plugins/def_conf_test.py
@@ -49,7 +50,7 @@ grep external_plugin_config /tmp/config || exit 3
4950sed -i ' s|.*max_checkpoint_by_wal_in_hour =.*|max_checkpoint_by_wal_in_hour = 5555555555555|g' /tmp/config
5051
5152# write zabbix template
52- mamonsu export template $ZABBIX_TEMPLATE -t $ZABBIX_TEMPLATE_NAME -c /tmp/config --old-zabbix
53+ mamonsu export template $ZABBIX_TEMPLATE -t $ZABBIX_TEMPLATE_NAME -c /tmp/config
5354grep 5555555555555 /tmp/template.xml || exit 4
5455grep ' pgsql\.uptime\[\]' /tmp/template.xml || exit 4
5556grep ' system\.disk\.all_read' /tmp/template.xml || exit 4
@@ -72,15 +73,26 @@ mamonsu export config /tmp/config -a /etc/mamonsu/plugins -c /etc/mamonsu/agent.
7273grep external_plugin_config2 /tmp/config || exit 5
7374
7475# install zabbix
75- yum install -y http://repo.zabbix.com/zabbix/2.4/rhel/6/x86_64/zabbix-release-2.4-1.el6.noarch.rpm
76- yum install -y zabbix-server-pgsql zabbix-web-pgsql
76+ rpm -Uvh https://repo.zabbix.com/zabbix/5.0/rhel/7/x86_64/zabbix-release-5.0-1.el7.noarch.rpm
77+ yum clean all
78+ yum install -y zabbix-server-pgsql zabbix-agent
79+ yum install -y centos-release-scl
80+
81+ sed -i ' s/enabled=0/enabled=1/g' /etc/yum.repos.d/zabbix.repo
82+
83+ cat /etc/yum.repos.d/zabbix.repo
84+
85+ yum install -y zabbix-web-pgsql-scl zabbix-apache-conf-scl
86+
87+ sed -i " s,;date.timezone =,date.timezone = 'US/Eastern'," /etc/opt/rh/rh-php72/php-fpm.d/zabbix.conf
88+
89+ sed -i " s|; php_value[date.timezone] = Europe/Riga'|php_value[date.timezone] = Europe/Riga'|g" /etc/opt/rh/rh-php72/php-fpm.d/zabbix.conf
7790
78- sed -i " s,;date.timezone =,date.timezone = 'US/Eastern'," /etc/php.ini
7991su postgres -c ' createdb zabbix'
8092su postgres -c ' createuser -a -d -E zabbix'
81- psql -1 -f $TESTDIR /zabbix_sql/schema.sql -U zabbix -d zabbix
82- psql -1 -f $TESTDIR /zabbix_sql/images .sql -U zabbix -d zabbix
83- psql -1 -f $TESTDIR /zabbix_sql/data.sql -U zabbix -d zabbix
93+
94+ psql -1 -f $TESTDIR /zabbix_sql/create .sql -U zabbix -d zabbix
95+
8496cat << EOF > /etc/zabbix/zabbix_server.conf
8597AlertScriptsPath=/usr/lib/zabbix/alertscripts
8698ExternalScripts=/usr/lib/zabbix/externalscripts
@@ -109,26 +121,29 @@ global \$DB;
109121?>
110122EOF
111123cp /usr/share/zabbix/conf/zabbix.conf.php /etc/zabbix/web/zabbix.conf.php
112- /etc/init.d/zabbix-server start
113- /etc/init.d/httpd start
114124
115- # export template to zabbix
125+ /usr/sbin/zabbix_server -c /etc/zabbix/zabbix_server.conf
126+ /usr/sbin/httpd -D FOREGROUND&
127+ /opt/rh/rh-php72/root/usr/sbin/php-fpm --nodaemonize&
128+
129+
130+ # # export template to zabbix
116131mamonsu zabbix template export $ZABBIX_TEMPLATE
117132template_id=$( mamonsu zabbix template id $ZABBIX_TEMPLATE_NAME )
118133hostgroup_id=$( mamonsu zabbix hostgroup id ' Linux servers' )
119134mamonsu zabbix host create $ZABBIX_CLIENT_HOST $hostgroup_id $template_id 127.0.0.1
120-
135+ #
121136su postgres -c ' createdb mamonsu'
122- su postgres -c " /usr/pgsql-9.5 /bin/psql -Atc \" CREATE USER mamonsu WITH password 'supersecret'\" "
123- cat << EOF > /var/lib/pgsql/9.5 /data/pg_hba.conf
137+ su postgres -c " /usr/pgsql-10 /bin/psql -Atc \" CREATE USER mamonsu WITH password 'supersecret'\" "
138+ cat << EOF > /var/lib/pgsql/10 /data/pg_hba.conf
124139local all all trust
125140host zabbix zabbix 127.0.0.1/32 trust
126141host zabbix zabbix ::1/128 trust
127142host all all 127.0.0.1/32 md5
128143EOF
129- su postgres -c ' /usr/pgsql-9.5 /bin/pg_ctl reload -D /var/lib/pgsql/9.5 /data'
144+ su postgres -c ' /usr/pgsql-10 /bin/pg_ctl reload -D /var/lib/pgsql/10 /data'
130145
131- # start mamonsu and sleep
146+ # # start mamonsu and sleep
132147cat << EOF > /etc/mamonsu/agent.conf
133148[postgres]
134149host = 127.0.0.1
@@ -155,28 +170,29 @@ file = /var/log/mamonsu/agent.log
155170level = DEBUG
156171EOF
157172mamonsu bootstrap -U postgres mamonsu -M mamonsu
158- /etc/init.d/mamonsu start
173+ # #/etc/init.d/mamonsu start
174+ /usr/bin/mamonsu -a /etc/mamonsu/plugins -c /etc/mamonsu/agent.conf&
159175sleep 125
160176
161- # check external plugin is worked
177+ # # check external plugin is worked
162178file /tmp/extenal_plugin_is_called || exit 6
163-
164- # check metric from agent
179+ #
180+ # # check metric from agent
165181mamonsu agent -c /etc/mamonsu/agent.conf version
166182mamonsu agent metric-get system.disk.all_read[] -c /etc/mamonsu/agent.conf
167183mamonsu agent -c /etc/mamonsu/agent.conf metric-list | grep system
168184
169- # metric log
185+ # # metric log
170186grep utilization /tmp/localhost.log || exit 7
171187grep ' pgsql\.uptime' /tmp/localhost.log || exit 7
172188
173- # error in zabbix server
189+ # # error in zabbix server
174190(mamonsu zabbix item error $ZABBIX_CLIENT_HOST | grep ZBX_NOTSUPPORTED) && exit 8
175-
176- # other metric in zabbix server
191+ #
192+ # # other metric in zabbix server
177193(mamonsu zabbix item lastvalue $ZABBIX_CLIENT_HOST | grep uptime) || exit 9
178-
179- # all plugin alive, exclude pg_wait_sampling
194+ #
195+ # # all plugin alive, exclude pg_wait_sampling
180196(grep -v ' PGWAITSAMPLING' /var/log/mamonsu/agent.log | grep -i ' catch error' ) && exit 10
181-
197+ #
182198exit 0
0 commit comments