{"id":527,"date":"2017-08-20T02:43:39","date_gmt":"2017-08-19T19:43:39","guid":{"rendered":"http:\/\/notes.opikdesign.com\/?p=527"},"modified":"2017-08-20T12:58:09","modified_gmt":"2017-08-20T05:58:09","slug":"nagios-dengan-notification-via-telegram-nagios-part-4-of-4","status":"publish","type":"post","link":"https:\/\/notes.opikdesign.com\/index.php\/2017\/08\/20\/networking\/nagios-dengan-notification-via-telegram-nagios-part-4-of-4\/","title":{"rendered":"Nagios dengan Notification via Telegram (Nagios Part 4 of 4)"},"content":{"rendered":"<p>Nagios sebagai aplikasi monitoring dapat mengirimkan notice berbagai media, umumnya dari default-nya kirim notice via email dan terakhir pernah saya tulis kirim notice via SMS. Kali ini pengiriman notice ke group Telegram dengan Bot API yang disediakan oleh Telegram.<\/p>\n<p>Sebelum dilanjutkan ke langkah-langkah, ada baikkan mempelajari fungsi-fungsi BotFather dan API dari Telegram tersebut, bisa merajuk ke link <a href=\"https:\/\/core.telegram.org\/bots\">https:\/\/core.telegram.org\/bots<\/a> dan\u00a0<a href=\"https:\/\/core.telegram.org\/bots\/api\">https:\/\/core.telegram.org\/bots\/api<\/a><\/p>\n<p><!--more--><br \/>\n<strong>Membuat BOT.<\/strong><\/p>\n<p>Search BotFather dan click START untuk memulai membuat Bot Account<br \/>\n<img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-530\" src=\"https:\/\/i0.wp.com\/notes.opikdesign.com\/wp-content\/uploads\/2017\/08\/bot-father.jpeg?resize=250%2C395\" alt=\"\" width=\"250\" height=\"395\" srcset=\"https:\/\/i0.wp.com\/notes.opikdesign.com\/wp-content\/uploads\/2017\/08\/bot-father.jpeg?w=380&amp;ssl=1 380w, https:\/\/i0.wp.com\/notes.opikdesign.com\/wp-content\/uploads\/2017\/08\/bot-father.jpeg?resize=190%2C300&amp;ssl=1 190w\" sizes=\"auto, (max-width: 250px) 100vw, 250px\" \/><\/p>\n<p>Setelah click START maka akan keluar beberapa command (perintah)&#8230;.<br \/>\n<img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-531\" src=\"https:\/\/i0.wp.com\/notes.opikdesign.com\/wp-content\/uploads\/2017\/08\/command-bot-father.jpeg?resize=250%2C476\" alt=\"\" width=\"250\" height=\"476\" srcset=\"https:\/\/i0.wp.com\/notes.opikdesign.com\/wp-content\/uploads\/2017\/08\/command-bot-father.jpeg?w=380&amp;ssl=1 380w, https:\/\/i0.wp.com\/notes.opikdesign.com\/wp-content\/uploads\/2017\/08\/command-bot-father.jpeg?resize=158%2C300&amp;ssl=1 158w\" sizes=\"auto, (max-width: 250px) 100vw, 250px\" \/><\/p>\n<p>Memulai membuat account, ikuti perintahnya dengan ketik terlebih dahulu \/newboot atau click, kemudian masukkan nama Bot yang diinginkan. Perlu diketahui nama harus unik belum ada yang pakai dan selalu diakhirin kata &#8220;bot&#8221;<br \/>\n<img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-532\" src=\"https:\/\/i0.wp.com\/notes.opikdesign.com\/wp-content\/uploads\/2017\/08\/newbot.jpeg?resize=250%2C476\" alt=\"\" width=\"250\" height=\"476\" srcset=\"https:\/\/i0.wp.com\/notes.opikdesign.com\/wp-content\/uploads\/2017\/08\/newbot.jpeg?w=380&amp;ssl=1 380w, https:\/\/i0.wp.com\/notes.opikdesign.com\/wp-content\/uploads\/2017\/08\/newbot.jpeg?resize=158%2C300&amp;ssl=1 158w\" sizes=\"auto, (max-width: 250px) 100vw, 250px\" \/><\/p>\n<p>Nama bot: @OPiKdesignBot<br \/>\nUser ID :\u00a0422223526<br \/>\nToken :\u00a0AAFI5rToxuRetjTvOzF8yaMy9s4lFgdWJAw<\/p>\n<h2><strong> Group Alert di Telegram.<\/strong><\/h2>\n<p>Buat group apa saja nama group-nya kemudian bot account masukkan ke dalam group. Setelah group terbentuk ketik \/start dan lakukan pengetesan kirim pesan di group tersebut.<\/p>\n<p>Disini membuat Group dengan nama group &#8220;NetMon NagiosBot&#8221;&#8230;<br \/>\n<img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-534\" src=\"https:\/\/i0.wp.com\/notes.opikdesign.com\/wp-content\/uploads\/2017\/08\/group-tele.jpeg?resize=250%2C476\" alt=\"\" width=\"250\" height=\"476\" srcset=\"https:\/\/i0.wp.com\/notes.opikdesign.com\/wp-content\/uploads\/2017\/08\/group-tele.jpeg?w=380&amp;ssl=1 380w, https:\/\/i0.wp.com\/notes.opikdesign.com\/wp-content\/uploads\/2017\/08\/group-tele.jpeg?resize=158%2C300&amp;ssl=1 158w\" sizes=\"auto, (max-width: 250px) 100vw, 250px\" \/><\/p>\n<h2><strong>Mencari GroupID.<\/strong><\/h2>\n<p>Selain ada UserID yang berupa deretan angka maka ada GroupID, dimana GroupID ini penulisannya berbeda dengan UserID, di GroupID ada tanda strip\/minus &#8220;-&#8221; di depan deretan angka.<\/p>\n<p>Tester kirim pesan di group sebenarnya untuk memancing agar si Bot Account menyimpan history pesan yang diterimanya namun harus diingat bahwa sebelum mengirimkan pesan harus mengaktifkan Bot Account di Group tersebut dengan ketik \/start.<\/p>\n<p>Kemudian kita cari GroupID dengan mengunakan API di aplikasi web browser biasa, link <strong><em>https:\/\/api.telegram.org\/bot[UserIDbot]:[TokenBot]\/getUpdates<\/em><\/strong> maka kita check dengan Bot Account yang tadi kita buat dengan link API sebagai berikut <em><strong>https:\/\/api.telegram.org\/bot422223526:AAFI5rToxuRetjTvOzF8yaMy9s4lFgdWJAw\/getUpdates<\/strong><\/em>\u00a0dan hasilnya seperti dibawah ini&#8230;<\/p>\n<p><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-535 size-full\" src=\"https:\/\/i0.wp.com\/notes.opikdesign.com\/wp-content\/uploads\/2017\/08\/getUpdates-tele-e1503169815524.jpeg?resize=525%2C104\" alt=\"\" width=\"525\" height=\"104\" srcset=\"https:\/\/i0.wp.com\/notes.opikdesign.com\/wp-content\/uploads\/2017\/08\/getUpdates-tele-e1503169815524.jpeg?w=1028&amp;ssl=1 1028w, https:\/\/i0.wp.com\/notes.opikdesign.com\/wp-content\/uploads\/2017\/08\/getUpdates-tele-e1503169815524.jpeg?resize=300%2C59&amp;ssl=1 300w, https:\/\/i0.wp.com\/notes.opikdesign.com\/wp-content\/uploads\/2017\/08\/getUpdates-tele-e1503169815524.jpeg?resize=768%2C152&amp;ssl=1 768w, https:\/\/i0.wp.com\/notes.opikdesign.com\/wp-content\/uploads\/2017\/08\/getUpdates-tele-e1503169815524.jpeg?resize=1024%2C202&amp;ssl=1 1024w\" sizes=\"auto, (max-width: 767px) 89vw, (max-width: 1000px) 54vw, (max-width: 1071px) 543px, 580px\" \/><\/p>\n<p>Tampak hasil dari query API sebagai berikut&#8230;<\/p>\n<pre>{\"id\":-242819075,\"title\":\"NetMon NagiosBot\",\"type\":\"group\",\"all_members_are_administrators\":true},\"date\":1503169563,\"text\":\"\/start\",\"entities\":[{\"type\":\"bot_command\",\"offset\":0,\"length\":6}]}}]}<\/pre>\n<p>sudah bisa dilihat GroupID-nya adalah -242819075, GroupID ini yang akan dimasukkan kedalam config Contact Nagios.<\/p>\n<h2><strong>Config pada Nagios<\/strong><\/h2>\n<p>Tentukan contact-nya, dengan membuat contact baru selain contact nagiosadmin dan masukkan GroupID-nya, edit file \/etc\/nagios\/objects\/contacts.cfg<\/p>\n<pre>define contact {\r\n       contact_name telegramgroup\r\n       use generic-contact\r\n       alias Telegram Group\r\n       _telegroup -242819075\r\n}\r\n<\/pre>\n<p>Masih di file config yang sama, contact telegramgroup masukkan ke group contactgroup selain nagiosadmin&#8230;<\/p>\n<pre>define contactgroup{\r\n       contactgroup_name admins\r\n       alias Nagios Administrators\r\n       members nagiosadmin,telegramgroup\r\n}<\/pre>\n<p>Selanjutnya config pada file \/etc\/nagios\/objects\/commands.cfg, buat command untuk kirim pesan Telegram di GroupID dengan menambahkan baris&#8230; Jangan lupa sesuaikan UserID dan Token dari Bot Account yang dibuat.<\/p>\n<pre>define command {\r\n  command_name     notify-host-by-telegram\r\n  command_line     \/usr\/bin\/sudo \/usr\/bin\/printf \"%b\" | \/usr\/bin\/wget \"https:\/\/api.telegram.org\/bot422223526:AAFI5rToxuRetjTvOzF8yaMy9s4lFgdWJAw\/sendMessage?chat_id=$_CONTACTTELEGROUP$&amp;text=Notification Type: $NOTIFICATIONTYPE$  Host: $HOSTNAME$  State: $HOSTSTATE$  Address: $HOSTADDRESS$  Info: $HOSTOUTPUT$  Date\/Time: $LONGDATETIME$\" &amp;&amp; \/bin\/rm -rf sendMessage*\r\n}\r\n\r\ndefine command {\r\n  command_name     notify-service-by-telegram\r\n  command_line     \/usr\/bin\/sudo \/usr\/bin\/printf \"%b\" | \/usr\/bin\/wget \"https:\/\/api.telegram.org\/bot422223526:AAFI5rToxuRetjTvOzF8yaMy9s4lFgdWJAw\/sendMessage?chat_id=$_CONTACTTELEGROUP$text=Notification Type: $NOTIFICATIONTYPE$  Service: $SERVICEDESC$  Host: $HOSTALIAS$  Address: $HOSTADDRESS$  State: $SERVICESTATE$  Date\/Time: $LONGDATETIME$  Additional Info: $SERVICEOUTPUT$\" &amp;&amp; \/bin\/rm -rf sendMessage*\r\n}<\/pre>\n<p>Edit file \/etc\/sudoers kemudian tambahkan user nagios tanpa password bisa menjalakan beberapa command, letakkan setelah user root&#8230;<\/p>\n<pre>[...]\r\nroot ALL=(ALL) ALL\r\nnagios ALL=(root) NOPASSWD: \/usr\/bin\/printf, \/usr\/local\/bin\/gammu, \/usr\/bin\/wget,\/bin\/rm\r\n[...]<\/pre>\n<p>Edit template untuk mengatur notification pada config-nya\u00a0di file \/etc\/nagios\/objects\/templates.cfg, tambahkan command untuk menjalankan notify baik host maupun service.<\/p>\n<pre>define contact{\r\n        name generic-contact\r\n        service_notifications_enabled 1\r\n        service_notification_period 24x7\r\n        service_notification_options w,u,c,r\r\n        service_notification_commands notify-service-by-telegram,notify-service-by-sms\r\n        host_notifications_enabled 1\r\n        host_notification_period 24x7\r\n        host_notification_options d,u,r\r\n        host_notification_commands notify-host-by-telegram,notify-host-by-sms\r\n        register 0\r\n}<\/pre>\n<p>Terakhir jangan lupa restart service nagios-nya.<\/p>\n<p>&nbsp;<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Nagios sebagai aplikasi monitoring dapat mengirimkan notice berbagai media, umumnya dari default-nya kirim notice via email dan terakhir pernah saya tulis kirim notice via SMS. Kali ini pengiriman notice ke group Telegram dengan Bot API yang disediakan oleh Telegram. Sebelum dilanjutkan ke langkah-langkah, ada baikkan mempelajari fungsi-fungsi BotFather dan API dari Telegram tersebut, bisa merajuk &hellip; <\/p>\n<p class=\"link-more\"><a href=\"https:\/\/notes.opikdesign.com\/index.php\/2017\/08\/20\/networking\/nagios-dengan-notification-via-telegram-nagios-part-4-of-4\/\" class=\"more-link\">Continue reading<span class=\"screen-reader-text\"> &#8220;Nagios dengan Notification via Telegram (Nagios Part 4 of 4)&#8221;<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_jetpack_newsletter_access":"","_jetpack_dont_email_post_to_subs":false,"_jetpack_newsletter_tier_id":0,"_jetpack_memberships_contains_paywalled_content":false,"_jetpack_feature_clip_id":0,"_jetpack_memberships_contains_paid_content":false,"footnotes":"","jetpack_post_was_ever_published":false},"categories":[8,3,4],"tags":[45,43,36,44],"class_list":["post-527","post","type-post","status-publish","format-standard","hentry","category-monitoring","category-networking","category-sys-admin","tag-cenos","tag-monitoring","tag-nagios","tag-telegram"],"jetpack_sharing_enabled":true,"jetpack_featured_media_url":"","_links":{"self":[{"href":"https:\/\/notes.opikdesign.com\/index.php\/wp-json\/wp\/v2\/posts\/527","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/notes.opikdesign.com\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/notes.opikdesign.com\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/notes.opikdesign.com\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/notes.opikdesign.com\/index.php\/wp-json\/wp\/v2\/comments?post=527"}],"version-history":[{"count":8,"href":"https:\/\/notes.opikdesign.com\/index.php\/wp-json\/wp\/v2\/posts\/527\/revisions"}],"predecessor-version":[{"id":542,"href":"https:\/\/notes.opikdesign.com\/index.php\/wp-json\/wp\/v2\/posts\/527\/revisions\/542"}],"wp:attachment":[{"href":"https:\/\/notes.opikdesign.com\/index.php\/wp-json\/wp\/v2\/media?parent=527"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/notes.opikdesign.com\/index.php\/wp-json\/wp\/v2\/categories?post=527"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/notes.opikdesign.com\/index.php\/wp-json\/wp\/v2\/tags?post=527"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}