삽질/개발,엔지니어링

LibreNMS 사용해보기

maengis 2022. 1. 8. 17:00

업무상 필요해서 어떤 게 필요하고 어떤 식으로 써야 하는지 확인차 사용해봤다.

설치라고 하기에는 공식 홈에서 가상 머신용 이미지 파일을 제공해주기 때문에 설치를 할 필요가 없었다.

https://www.librenms.org/#downloads

 

LibreNMS

LibreNMS is an autodiscovering PHP/MySQL-based network monitoring system.

www.librenms.org

 

나만 그런 건지 세 번 시도해서 겨우 받았다. ISP는 KT...

 

'파일 > 가상 시스템 가져오기'로 해당 파일을 가져오고 실행 시켰다.

관련 접근 정보는 https://docs.librenms.org/Installation/Images/ 공식 문서에서 확인할 수 있다.

 

 

http://localhost:8080이고 계정 정보는 공식 문서 참고 후 로그인

 

 

Devices > Add Device로 추가를 하면 되는 거 같은데, SNMP를 사용해야 된다고 한다.

SNMP는 간이 망 관리 프로토콜(Simple Network Management Protocol)이라고 해서 네트워크에 있는 장비들을 관리하기 위한 프로토콜이라고 한다.

https://docs.oracle.com/cd/E24292_01/ko/E50686/html/snmpconfig.htm#i1179446

 

SNMP 구성

SNMP(Simple Network Management Protocol)는 UDP/IP(사용자 데이터그램 프로토콜/인터넷 프로토콜)를 사용하여 이더넷 연결을 통해 네트워크 관리 작업을 수행하는 응용 계층 프로토콜입니다. Simple Network Mana

docs.oracle.com

블로그에도 잘 정리된 것들이 있는데, 페이지 하나로 쭉 보기엔 오라클에 있는 문서가 가장 나았다.

여튼 장비를 추가 해야 되는데, 운영 되고 있는 서버에 해보기에는 방화벽 열고 이러는 게 귀찮아서 로컬 개발 서버를 쓰기로 했다. (* LibreNMS는 127.0.0.1이고 로컬 개발 서버는 192.168.0.31을 쓰게 해놨다.)

위에 오라클 문서를 보면, 관리쪽은 UDP/162를 쓰고 에이전트쪽은 UDP/161을 쓴다는데, 여튼 이를 위해서 SNMP 관련 패키지를 설치해주어야 한다.

로컬 개발 서버는 록키리눅스라서 CentOS와 동일하게 설치하면 된다.

net-snmp와 net-snmp-utils 두 개가 관련 패키지인데, LibreNMS에 장치를 추가해보는 게 목적이라 net-snmp만 설치를 했다.

yum install net-snmp

설정 파일은

/etc/snmp/snmpd.conf

장치 연결이 목적이므로 설정 파일은 건드리지 않고 바로 실행해본다.

[root@localhost ~]# systemctl start snmpd
[root@localhost ~]# netstat -nlp | grep 161
tcp6       0      0 :::8000                 :::*                    LISTEN      1613/httpd
udp        0      0 0.0.0.0:161             0.0.0.0:*                           6806/snmpd
unix  2      [ ACC ]     STREAM     LISTENING     28844    1625/httpd           /etc/httpd/run/cgisock.1613
unix  2      [ ACC ]     STREAM     LISTENING     28874    1614/php-fpm: maste  /run/php-fpm/www.sock

UDP/161을 SNMPD가 사용하고 있다.

 

 

 

IP와 포트 번호 적고 Add Device를 눌러서 추가

 

 

'Devices > All Devices'로 들어가보면 장치가 잘 추가 되어 있다.

하나만 추가해서 이거저거 보기에는 로컬 개발 서버에는 뭐가 없는 편이라 그냥 개인 서버도 추가 했다.

 

추가 후에 대시보드를 꾸며보려고 하는데

위젯이 안 나온다.

혹시 몰라서 서비스에도 추가를 해본다.

'Services > Add Service'에서 Name에 이름 넣고 Device에서 장치 고르고 Add Service

두 개 추가해줬다. 그래도 안 나와서 구글링을 해봄.

https://community.librenms.org/t/dashboard-widgets-missing/11476

 

Dashboard Widgets missing

==================================== Component Version LibreNMS 1.62-24-gf0d68a1ad DB Schema 2020_03_25_165300_add_column_to_ports (161) PHP 7.2.24-0ubuntu0.18.04.3 MySQL 10.1.44-MariaDB-0ubuntu0.18.04.1 RRDTool 1.7.0 SNMP NET-SNMP 5.7.3 ==================

community.librenms.org

php artisan db:seed

이걸 실행해보라고 함.

 

librenms@librenms:~$ php artisan db:seed
**************************************
*     Application In Production!     *
**************************************

 Do you really wish to run this command? (yes/no) [no]:
 > yes

Seeding: Database\Seeders\DefaultAlertTemplateSeeder
Seeded:  Database\Seeders\DefaultAlertTemplateSeeder (1.54ms)
Seeding: Database\Seeders\DefaultWidgetSeeder
Seeded:  Database\Seeders\DefaultWidgetSeeder (1.74ms)
Seeding: Database\Seeders\DefaultLegacySchemaSeeder
Seeded:  Database\Seeders\DefaultLegacySchemaSeeder (1.07ms)
Database seeding completed successfully.

잘 나온다.

문제가 있다면, 장치가 전부 가상이라 그런 건지 추가를 한지 얼마 안 돼서 그런 건지 제대로 나오는 게 없다.

실제 데이터를 받을 수 있는 환경에서 사용을 해봐야 활용을 어찌할지 알 수 있을 거 같다.

 

+--------------------------------+
| Tables_in_librenms             |
+--------------------------------+
| access_points                  |
| alert_device_map               |
| alert_group_map                |
| alert_location_map             |
| alert_log                      |
| alert_rules                    |
| alert_schedulables             |
| alert_schedule                 |
| alert_template_map             |
| alert_templates                |
| alert_transport_groups         |
| alert_transport_map            |
| alert_transports               |
| alerts                         |
| api_tokens                     |
| application_metrics            |
| applications                   |
| authlog                        |
| availability                   |
| bgpPeers                       |
| bgpPeers_cbgp                  |
| bill_data                      |
| bill_history                   |
| bill_perms                     |
| bill_port_counters             |
| bill_ports                     |
| bills                          |
| cache                          |
| cache_locks                    |
| callback                       |
| cef_switching                  |
| ciscoASA                       |
| component                      |
| component_prefs                |
| component_statuslog            |
| config                         |
| customers                      |
| customoids                     |
| dashboards                     |
| dbSchema                       |
| device_graphs                  |
| device_group_device            |
| device_groups                  |
| device_outages                 |
| device_perf                    |
| device_relationships           |
| devices                        |
| devices_attribs                |
| devices_group_perms            |
| devices_perms                  |
| entPhysical                    |
| entPhysical_state              |
| entityState                    |
| eventlog                       |
| graph_types                    |
| hrDevice                       |
| ipsec_tunnels                  |
| ipv4_addresses                 |
| ipv4_mac                       |
| ipv4_networks                  |
| ipv6_addresses                 |
| ipv6_networks                  |
| juniAtmVp                      |
| links                          |
| loadbalancer_rservers          |
| loadbalancer_vservers          |
| locations                      |
| mac_accounting                 |
| mefinfo                        |
| mempools                       |
| migrations                     |
| mpls_lsp_paths                 |
| mpls_lsps                      |
| mpls_saps                      |
| mpls_sdp_binds                 |
| mpls_sdps                      |
| mpls_services                  |
| mpls_tunnel_ar_hops            |
| mpls_tunnel_c_hops             |
| munin_plugins                  |
| munin_plugins_ds               |
| netscaler_vservers             |
| notifications                  |
| notifications_attribs          |
| ospf_areas                     |
| ospf_instances                 |
| ospf_nbrs                      |
| ospf_ports                     |
| packages                       |
| pdb_ix                         |
| pdb_ix_peers                   |
| plugins                        |
| poller_cluster                 |
| poller_cluster_stats           |
| poller_groups                  |
| pollers                        |
| ports                          |
| ports_adsl                     |
| ports_fdb                      |
| ports_nac                      |
| ports_perms                    |
| ports_stack                    |
| ports_statistics               |
| ports_stp                      |
| ports_vlans                    |
| processes                      |
| processors                     |
| proxmox                        |
| proxmox_ports                  |
| pseudowires                    |
| route                          |
| sensors                        |
| sensors_to_state_indexes       |
| service_templates              |
| service_templates_device       |
| service_templates_device_group |
| services                       |
| session                        |
| slas                           |
| state_indexes                  |
| state_translations             |
| storage                        |
| stp                            |
| syslog                         |
| tnmsneinfo                     |
| toner                          |
| transport_group_transport      |
| ucd_diskio                     |
| users                          |
| users_prefs                    |
| users_widgets                  |
| vlans                          |
| vminfo                         |
| vrf_lite_cisco                 |
| vrfs                           |
| widgets                        |
| wireless_sensors               |
+--------------------------------+
137 rows in set (0.001 sec)​
반응형