Syslog view in Grafana
I didn’t find how to configure Telegraf if Home Assistant is installed on top of Debian OS. The thing is that Grafana does not see the data from Telegraf, although they are in InfluxDB. I rummaged around a bit and found a solution. This is an option for those who have Home Assistant running on Debian/Ubuntu. In my case, it is Debian 11
- Syslog-ng must be installed, if not installed, then we put
sudo update
sudo apt-get install syslog-ng
- Configure syslog-ng. Opening syslog-ng.conf
sudo nano /etc/syslog-ng/syslog-ng.conf
- Adding to the lines
If the string already has source s_udp { udp(); }; , then we specify this
destination telegraf_local {syslog("127.0.0.1" port(6514));};
log { source(s_udp); destination(telegraf_local); };
If the string does not have source s_udp { udp(); }; , then we specify this
source s_udp { udp(); };
destination telegraf_local {syslog("127.0.0.1" port(6514));};
log { source(s_udp); destination(telegraf_local); };
Restart the syslog-ng service
sudo /etc/init.d/syslog-ng restart
Adding to the auto-upload if not added
sudo systemctl enable syslog-ng
Let’s check if the service has started:
sudo netstat -tulnp | grep syslog
If the service is running, we will see see the example below
udp 0 0 0.0.0.0:514 0.0.0.0:* 408268/syslog-ng
In the telegraf.conf file, which is located on the path \share\telegraf\telegraf.conf, add the line
[[inputs.syslog]]
server = "tcp://localhost:6514"
[[outputs.influxdb]]
database = "telegraf"
username = "telegraf"
password = "telegraf"
In the settings of the Telegraf addon, we prescribe the following, and then save and run the Telegraf addon
custom_conf:
enabled: true
location: /share/telegraf/telegraf.conf
hostname: telegraf.local
influxDB:
enabled: true
url: http://a0d7b954-influxdb:8086
db: telegraf
username: telegraf
password: telegraf
retention_policy: 7d
kernel:
enabled: true
swap:
enabled: true
docker:
enabled: false
timeout: 5s
thermal:
enabled: false
smart_monitor:
enabled: false
timeout: 30s
ipmi_sensor:
enabled: false
interval: 30s
timeout: 20s
server_user_id: user
server_password: password
server_protocol: lan
server_ip: 192.168.1.2
influxDBv2:
enabled: false
url: http://127.0.0.1:9999
organization: ""
token: ""
bucket: ""
prometheus:
enabled: false
metrics_path: /metrics
In order for the Syslog to be displayed in Grafana, you need to import the Syslog file
Download Syslog for Grafana from this link and import to Grafana or import the syslog_rev5 file.json in the attachment, which lies in the Dashboard folder
Text in Russian (Текст на русском)
Вид Syslog в Grafana
Не нашел как нужно настраивать Telegraf если Home Assistant установлен поверх ОС Debian. Все дело в том, что Grafana не видит данные с Telegraf, хотя они есть в InfluxDB. Немного порылся и нашел решение. Это вариант для тех у кого Home Assistant стоит на Debian/Ubuntu. В моем случае стоит Debian 11
- Должен быть установлен syslog-ng, если не установили, то ставим
sudo update
sudo apt-get install syslog-ng
- Настроить syslog-ng. Отрываем syslog-ng.conf
sudo nano /etc/syslog-ng/syslog-ng.conf
- Добавляем в строки
Если в строке уже имеется source s_udp { udp(); }; , то указываем так
destination telegraf_local {syslog("127.0.0.1" port(6514));};
log { source(s_udp); destination(telegraf_local); };
Если в строке не имеется source s_udp { udp(); }; , то указываем так
source s_udp { udp(); };
destination telegraf_local {syslog("127.0.0.1" port(6514));};
log { source(s_udp); destination(telegraf_local); };
Перезапустить службу syslog-ng
sudo /etc/init.d/syslog-ng restart
Добавляем в автозагрузку если не добавлено
sudo systemctl enable syslog-ng
Проверим, запустилась ли служба:
sudo netstat -tulnp | grep syslog
Если служба запущена, то увидим см.пример ниже
udp 0 0 0.0.0.0:514 0.0.0.0:* 408268/syslog-ng
В фалик telegraf.conf который находится по пути \share\telegraf\telegraf.conf добавляем строку
[[inputs.syslog]]
server = "tcp://localhost:6514"
[[outputs.influxdb]]
database = "telegraf"
username = "telegraf"
password = "telegraf"
В настройках аддона Telegraf прописываем следующее, а после сохраняем и запускаем аддон Telegraf
custom_conf:
enabled: true
location: /share/telegraf/telegraf.conf
hostname: telegraf.local
influxDB:
enabled: true
url: http://a0d7b954-influxdb:8086
db: telegraf
username: telegraf
password: telegraf
retention_policy: 7d
kernel:
enabled: true
swap:
enabled: true
docker:
enabled: false
timeout: 5s
thermal:
enabled: false
smart_monitor:
enabled: false
timeout: 30s
ipmi_sensor:
enabled: false
interval: 30s
timeout: 20s
server_user_id: user
server_password: password
server_protocol: lan
server_ip: 192.168.1.2
influxDBv2:
enabled: false
url: http://127.0.0.1:9999
organization: ""
token: ""
bucket: ""
prometheus:
enabled: false
metrics_path: /metrics
Чтобы в Grafana отображался Syslog, необходимо импортировать файлик Syslog
Скачиваем Syslog для Grafana по этой ссылке Syslog | Grafana Labs и импортируем в Grafana или импортируем файлик syslog_rev5.json во вложении, который лежит в папке Dashboard