Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Syslog messages not making it to librenms #409

Open
3 tasks done
huntson opened this issue Nov 23, 2023 · 3 comments
Open
3 tasks done

Syslog messages not making it to librenms #409

huntson opened this issue Nov 23, 2023 · 3 comments

Comments

@huntson
Copy link

huntson commented Nov 23, 2023

Support guidelines

I've found a bug and checked that ...

  • ... the documentation does not mention anything about my problem
  • ... there are no open or closed issues that are related to my problem

Description

Syslog messages are not showing up in the UI of librenms

Expected behaviour

When sending a syslog message from a linux box or a switch to the syslog docker, I'd expect it to show in the librenms UI. I can confirm with tcpdump that the traffic is actually passing but it's not showing where it should.

Actual behaviour

All I can say is that the message is not showing up. No logging appears to indicate any errors.

https://github.com/librenms/docker/issues/396 is similar however they appeared to get it working without explanation.

Steps to reproduce

  1. Run docker using the following compose file:
    `name: librenms

services:
db:
image: mariadb:10.5
container_name: librenms_db
command:
- "mysqld"
- "--innodb-file-per-table=1"
- "--lower-case-table-names=0"
- "--character-set-server=utf8mb4"
- "--collation-server=utf8mb4_unicode_ci"
volumes:
- "/volume1/docker/librenms/db:/var/lib/mysql"
environment:
- "TZ=${TZ}"
- "MYSQL_ALLOW_EMPTY_PASSWORD=yes"
- "MYSQL_DATABASE=${MYSQL_DATABASE}"
- "MYSQL_USER=${MYSQL_USER}"
- "MYSQL_PASSWORD=${MYSQL_PASSWORD}"
restart: always

redis:
image: redis:5.0-alpine
container_name: librenms_redis
environment:
- "TZ=${TZ}"
restart: always

msmtpd:
image: crazymax/msmtpd:latest
container_name: librenms_msmtpd
env_file:
- "stack.env"
restart: always

librenms:
image: librenms/librenms:latest
container_name: librenms
hostname: librenms
cap_add:
- NET_ADMIN
- NET_RAW
ports:
- target: 8000
published: 7000
protocol: tcp
depends_on:
- db
- redis
- msmtpd
volumes:
- "/volume1/docker/librenms/librenms:/data"
env_file:
- "stack.env"
environment:
- "TZ=${TZ}"
- "PUID=${PUID}"
- "PGID=${PGID}"
- "DB_HOST=db"
- "DB_NAME=${MYSQL_DATABASE}"
- "DB_USER=${MYSQL_USER}"
- "DB_PASSWORD=${MYSQL_PASSWORD}"
- "DB_TIMEOUT=60"
restart: always

dispatcher:
image: librenms/librenms:latest
container_name: librenms_dispatcher
hostname: librenms-dispatcher
cap_add:
- NET_ADMIN
- NET_RAW
depends_on:
- librenms
- redis
volumes:
- "/volume1/docker/librenms/librenms:/data"
env_file:
- "stack.env"
environment:
- "TZ=${TZ}"
- "PUID=${PUID}"
- "PGID=${PGID}"
- "DB_HOST=db"
- "DB_NAME=${MYSQL_DATABASE}"
- "DB_USER=${MYSQL_USER}"
- "DB_PASSWORD=${MYSQL_PASSWORD}"
- "DB_TIMEOUT=60"
- "DISPATCHER_NODE_ID=dispatcher1"
- "SIDECAR_DISPATCHER=1"
restart: always

syslogng:
image: librenms/librenms:latest
container_name: librenms_syslogng
hostname: librenms-syslogng
cap_add:
- NET_ADMIN
- NET_RAW
depends_on:
- librenms
- redis
ports:
- target: 514
published: 514
protocol: tcp
- target: 514
published: 514
protocol: udp
volumes:
- "/volume1/docker/librenms/librenms:/data"
env_file:
- "stack.env"
environment:
- "TZ=${TZ}"
- "PUID=${PUID}"
- "PGID=${PGID}"
- "DB_HOST=db"
- "DB_NAME=${MYSQL_DATABASE}"
- "DB_USER=${MYSQL_USER}"
- "DB_PASSWORD=${MYSQL_PASSWORD}"
- "DB_TIMEOUT=60"
- "SIDECAR_SYSLOGNG=1"
restart: always

snmptrapd:
image: librenms/librenms:latest
container_name: librenms_snmptrapd
hostname: librenms-snmptrapd
cap_add:
- NET_ADMIN
- NET_RAW
depends_on:
- librenms
- redis
ports:
- target: 162
published: 162
protocol: tcp
- target: 162
published: 162
protocol: udp
volumes:
- "/volume1/docker/librenms/librenms:/data"
env_file:
- "stack.env"
environment:
- "TZ=${TZ}"
- "PUID=${PUID}"
- "PGID=${PGID}"
- "DB_HOST=db"
- "DB_NAME=${MYSQL_DATABASE}"
- "DB_USER=${MYSQL_USER}"
- "DB_PASSWORD=${MYSQL_PASSWORD}"
- "DB_TIMEOUT=60"
- "SIDECAR_SNMPTRAPD=1"
restart: always`

  1. Send syslog message to the host

Docker info

Client:
 Context:    default
 Debug Mode: false

Server:
 Containers: 30
  Running: 28
  Paused: 0
  Stopped: 2
 Images: 26
 Server Version: 20.10.23
 Storage Driver: btrfs
  Build Version: Btrfs v4.0
  Library Version: 101
 Logging Driver: db
 Cgroup Driver: cgroupfs
 Cgroup Version: 1
 Plugins:
  Volume: local
  Network: bridge host ipvlan macvlan null overlay
  Log: awslogs db fluentd gcplogs gelf journald json-file local logentries splunk syslog
 Swarm: inactive
 Runtimes: io.containerd.runtime.v1.linux runc io.containerd.runc.v2
 Default Runtime: runc
 Init Binary: docker-init
 containerd version: b23a389d8c181697302d163356e97dec04eb8d88
 runc version: 5af893d
 init version: ed96d00
 Security Options:
  apparmor
 Kernel Version: 4.4.302+
 Operating System: Synology NAS
 (containerized)
 OSType: linux
 Architecture: x86_64
 CPUs: 4
 Total Memory: 31.32GiB
 Name: SS1NAS
 ID: 3MBR:HMJW:3I4C:CHEH:CPUF:FNR4:HIRK:44RW:RPWO:OD7A:5XVN:SPLH
 Docker Root Dir: /volume1/@docker
 Debug Mode: false
 Registry: https://index.docker.io/v1/
 Labels:
 Experimental: false
 Insecure Registries:
  127.0.0.0/8
 Live Restore Enabled: false

WARNING: No kernel memory TCP limit support
WARNING: No cpu cfs quota support
WARNING: No cpu cfs period support
WARNING: No blkio throttle.read_bps_device support
WARNING: No blkio throttle.write_bps_device support
WARNING: No blkio throttle.read_iops_device support
WARNING: No blkio throttle.write_iops_device support

The associated .env file is also populated.

Docker Compose config

No response

Logs

I'm not sure how to turn on the debug logs on the syslogng docker.  using the suggested LOG_LEVEL=debug did not help.

That being said, all the logs I am able to see do not show any errors.

Additional info

No response

@huntson
Copy link
Author

huntson commented Dec 22, 2023

Bump

@Disgruntled-Duck
Copy link

Disgruntled-Duck commented Jun 9, 2024

I have this same issue. I have tried multiple different compose versions and cannot get syslog working in any of them. If anybody else was able to get this working can you reply with a fix? I have added the "enable_syslog: true" line to /data/config/syslog.yaml and /data/config/my.php containing below that I found in a different forum but nothing seems to get syslog working. I confirmed that my containers are working and checking the logs there aren't any noticeable errors. I wanted to start a graylog stack but my processor doesn't support awx so looking for solutions :(

<?php

$config['snmp']['community'] = array('MYSNMP');
$config['rrd_purge'] = 30;
$config['ports_purge'] = true;
$config['bad_if_regexp'][] = '/^br-\w{12}/';
$config['bad_if_regexp'][] = '/^veth\w{7}/';
$config['bad_if_regexp'][] = '/^lo$/';
$config['bad_if_regexp'][] = '/^docker0$/';
$config['bad_if_regexp'][] = '/^kube-bridge$/';
$config['bad_if_regexp'][] = '/^kube-dummy-if$/';
$config['enable_billing'] = 1;
$config['billing_data_purge'] = 12;

@Disgruntled-Duck
Copy link

I finally figured this out and got my syslog working. I had to run the command lnms config:set enable_syslog true in the librenms container cli and then syslogs showed up. I also restarted the stack and it appears to persist through remakes but I saw that you can also add the following line to your compose under the librenms container and it supposedly runs the command on startup.

services:
  librenms:
    image: librenms/librenms:latest
    container_name: librenms
    hostname: librenms
    command:
      - sh -c "lnms config:set enable_syslog true"

This is the post that helped me

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants