<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/"><channel><title>Github on CeMoCom</title><link>https://www.cemocom.de/tags/github/</link><description>Recent content in Github on CeMoCom</description><generator>Hugo</generator><language>en-us</language><lastBuildDate>Mon, 28 Dec 2020 17:50:32 +0000</lastBuildDate><atom:link href="https://www.cemocom.de/tags/github/feed.xml" rel="self" type="application/rss+xml"/><item><title>Improved TheThingsNetwork Gateway Monitoring</title><link>https://www.cemocom.de/2020/12/28/improved-thethingsnetwork-monitoring/</link><pubDate>Mon, 28 Dec 2020 17:50:32 +0000</pubDate><guid>https://www.cemocom.de/2020/12/28/improved-thethingsnetwork-monitoring/</guid><description>&lt;p&gt;In a &lt;a href="https://www.cemocom.de/2020/12/16/thethingsnetwork-gateway-monitoring/"&gt;previous post&lt;/a&gt; we showed how TTN gateways can be monitored using Prometheus. However, the presented solution had some limitations. For example it was only possible to monitor a single gateway. Also the code is now available on &lt;a href="https://github.com/sebassz/prometheus-ttn-gateway-exporter"&gt;GitHub&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;To support multiple gateways the output format has slightly be changed. The metrics for the different gateways can now be filtered by the label &lt;em&gt;gateway_id&lt;/em&gt;.&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-fallback" data-lang="fallback"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;# HELP python_gc_objects_collected_total Objects collected during gc
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;# TYPE python_gc_objects_collected_total counter
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;python_gc_objects_collected_total{generation=&amp;#34;0&amp;#34;} 48.0
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;python_gc_objects_collected_total{generation=&amp;#34;1&amp;#34;} 344.0
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;python_gc_objects_collected_total{generation=&amp;#34;2&amp;#34;} 0.0
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;# HELP python_gc_objects_uncollectable_total Uncollectable object found during GC
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;# TYPE python_gc_objects_uncollectable_total counter
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;python_gc_objects_uncollectable_total{generation=&amp;#34;0&amp;#34;} 0.0
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;python_gc_objects_uncollectable_total{generation=&amp;#34;1&amp;#34;} 0.0
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;python_gc_objects_uncollectable_total{generation=&amp;#34;2&amp;#34;} 0.0
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;# HELP python_gc_collections_total Number of times this generation was collected
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;# TYPE python_gc_collections_total counter
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;python_gc_collections_total{generation=&amp;#34;0&amp;#34;} 59.0
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;python_gc_collections_total{generation=&amp;#34;1&amp;#34;} 5.0
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;python_gc_collections_total{generation=&amp;#34;2&amp;#34;} 0.0
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;# HELP python_info Python platform information
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;# TYPE python_info gauge
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;python_info{implementation=&amp;#34;CPython&amp;#34;,major=&amp;#34;3&amp;#34;,minor=&amp;#34;9&amp;#34;,patchlevel=&amp;#34;1&amp;#34;,version=&amp;#34;3.9.1&amp;#34;} 1.0
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;# HELP process_virtual_memory_bytes Virtual memory size in bytes.
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;# TYPE process_virtual_memory_bytes gauge
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;process_virtual_memory_bytes 1.87236352e+08
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;# HELP process_resident_memory_bytes Resident memory size in bytes.
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;# TYPE process_resident_memory_bytes gauge
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;process_resident_memory_bytes 3.1379456e+07
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;# HELP process_start_time_seconds Start time of the process since unix epoch in seconds.
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;# TYPE process_start_time_seconds gauge
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;process_start_time_seconds 1.60917394427e+09
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;# HELP process_cpu_seconds_total Total user and system CPU time spent in seconds.
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;# TYPE process_cpu_seconds_total counter
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;process_cpu_seconds_total 0.13999999999999999
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;# HELP process_open_fds Number of open file descriptors.
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;# TYPE process_open_fds gauge
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;process_open_fds 8.0
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;# HELP process_max_fds Maximum number of open file descriptors.
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;# TYPE process_max_fds gauge
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;process_max_fds 1024.0
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;# HELP ttn_gateway_messages_uplink Number of uplink messages
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;# TYPE ttn_gateway_messages_uplink gauge
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;ttn_gateway_messages_uplink{gateway_id=&amp;#34;eui-1&amp;#34;} 10.0
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;ttn_gateway_messages_uplink{gateway_id=&amp;#34;eui-2&amp;#34;} 20.0
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;# HELP ttn_gateway_messages_downlink Number of downlink messages
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;# TYPE ttn_gateway_messages_downlink gauge
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;ttn_gateway_messages_downlink{gateway_id=&amp;#34;eui-1&amp;#34;} 1.0
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;ttn_gateway_messages_downlink{gateway_id=&amp;#34;eui-2&amp;#34;} 2.0
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;# HELP ttn_gateway_messages_rx_ok Number of rx_ok messages
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;# TYPE ttn_gateway_messages_rx_ok gauge
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;ttn_gateway_messages_rx_ok{gateway_id=&amp;#34;eui-1&amp;#34;} 10.0
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;ttn_gateway_messages_rx_ok{gateway_id=&amp;#34;eui-2&amp;#34;} 20.0
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;# HELP ttn_gateway_messages_tx_in Number of tx_in messages
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;# TYPE ttn_gateway_messages_tx_in gauge
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;ttn_gateway_messages_tx_in{gateway_id=&amp;#34;eui-1&amp;#34;} 1.0
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;ttn_gateway_messages_tx_in{gateway_id=&amp;#34;eui-02c10afffe41d2a3&amp;#34;} 2.0
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;</description></item></channel></rss>