Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
NotificationsYou must be signed in to change notification settings

ajanis/ansible-unifi

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

75 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

This role makes use ofThis Docker Role to deploy the Ubiquiti Unifi Admin service along with a Prometheus metrics exporter container and the Telegraf metrics collector along with required SNMP MIBS/configurations.

Example using group_vars

This is an example of how to use this role to deploy the Ubiquiti Unifi Admin controller and a Prometheus metrics collector for Unifi Admin

docker_containers and docker_build_images group_vars for Unifi Admin and Unifi-Exporter

Calls the docker role with the following group_vars to build a docker image from the specified git repo and deploy the containerized service and systemd configs.

defaults/main.yml

---data_mount_root:/dataconfigs_directory:configsunms_version:1.1.5unms_config_directory:"{{ data_mount_root }}/{{ configs_directory }}/unms"unms_data_directory:"{{ unms_config_directory }}/data"unms_app_directory:"{{ unms_config_directory }}/app"unms_pgconf_directory:"{{ unms_app_directory }}/conf/postgres"unms_yarn_directory:"{{ unms_app_directory }}/.yarn"unms_log_directory:"{{ unms_data_directory }}/logs"unms_redis_directory:"{{ unms_data_directory }}/redis"unms_postgres_directory:"{{ unms_data_directory }}/postgres"unms_rabbitmq_directory:"{{ unms_data_directory }}/rabbitmq"unms_ucrm_directory:"{{ unms_data_directory }}/ucrm"unms_firmware_directory:"{{ unms_data_directory }}/firmwares"unms_cert_directory:"{{ unms_data_directory }}/cert"unms_enable_ssl:Falseunms_user_id:"1000"unms_postgres_host:"unms-postgres"unms_admin_postgres_user:"root"unms_admin_postgres_password:"jh6UE6RI5xtPqtHbs1WQkZepftu4IH9NX2SgnkQIbBxXFCXP"unms_unms_postgres_db:"unms"unms_unms_postgres_schema:"unms"unms_unms_postgres_user:"unms"unms_unms_postgres_password:"h6AP3aPIkuDlj8iyDuh9mv3S5yul2HupLLLZIH39MuXJC8gf"unms_ucrm_postgres_db:"unms"unms_ucrm_postgres_schema:"ucrm"unms_ucrm_postgres_user:"ucrm"unms_ucrm_postgres_password:"ypELME0RTpkwi045ELL8sHGF6ZAJE4TEPbu5hmnqIXpzdjMF"unms_pgdata:"/var/lib/postgresql/data/pgdata"unms_demo:"false"unms_node_env:"production"unms_http_port:"8081"unms_ws_port:"8082"unms_ws_shell_port:"8083"unms_ws_api_port:"8084"unms_netflow_port:"2055"unms_public_https_port:"443"unms_public_ws_port:""unms_nginx_https_port:"443"unms_nginx_http_port:"80"unms_ssl_cert:"localhost.crt"unms_ssl_cert_key:"localhost.key"unms_ssl_cert_ca:""unms_ip_whitelist:""unms_suspend_port:"81"unms_host_tag:""unms_branch:"master"unms_http_proxy:""unms_https_proxy:""unms_no_proxy:""unms_secure_link_secret:"3p8Vkj5FK8fgZI7k0NdiXze5XDQgCoil2wrFoASaHymMbx0TS1sAcJxmpl342s3ZgQbfKSJHsZym1pZSui558rHiBwxSB09A89MA"unms_cluster_size:"auto"unms_token:"oMoPnh7RUabnFmRuwBcIdmACGeKYsPI6qw69qAro3Njv62vw"unms_deployment:""unms_features:""unms_use_local_discovery:"true"unms_mailer_address:"127.1.0.1"unms_mailer_address_username:"username"unms_mailer_address_password:"password"unms_secret:"BPee0eCuyJqmcpqCDA2WjzKtCXP1b2k7aerqdDV0QxOvAvoe"unms_ucrm_user:"unms"unms_host:"unms"unms_base_url:"/v2.1"unms_fluentd_port:"24224"unms_rabbitmq_server_additional_erl_args:"-rabbit channel_max 4096"docker_unifi_container_name:unifiunifi_admin_host:"unifi.{{ www_domain | default('example.com') }}"unifi_admin_url:"https://{{ unifi_admin_host }}:8443"unifi_config_directory:"{{ data_mount_root }}/{{ configs_directory }}/unifi"unifi_data_directory:'{{ unifi_config_directory }}/data'unifi_container_data_directory:/config/dataunifi_container_java_directory:/usr/lib/jvm/java-1.8.0-openjdk-amd64unifi_enable_ssl:Falseunifi_snmp_v3_password:"{{ vault_unifi_snmp_v3_password | default('') }}"unifi_snmp_v3_username:telegrafunifi_exporter_config_directory:"{{ data_mount_root }}/{{ configs_directory }}/unifi_exporter"unifi_admin_site:defaultssl_privkey:ssl_certchain:ssl_certpath:ssl_keypath:

group_vars/unifi/vars.yml

---unms_version:1.2.1docker_containers:unifi:description:"Unifi Admin Controller"image:linuxserver/unifi-controller:latestrestart_policy:unless-stoppednetwork_mode:hostpull:"true"ports:[]volumes:      -"/etc/localtime:/etc/localtime:ro"      -"{{ unifi_config_directory }}:/config"environment:PUID:"0"PGID:"0"log-driver:"journald"log_options:tag:unifi-admin/unifi-adminunifi_exporter:description:"Prometheus Metrics Collector Unifi"image:unifi_exporterrestart_policy:unless-stoppeddepends_on:      -unificommand:"-config.file /etc/unifi_exporter/config.yml"volumes:      -"{{ unifi_exporter_config_directory }}:/etc/unifi_exporter"log-driver:"journald"log_options:tag:unifi-exporter/unifi-exporterunifi-poller:description:"Unifi-Poller Utility"image:golift/unifi-poller:latestrestart_policy:unless-stoppeddepends_on:      -unifivolumes:      -"{{ unifi_poller_config_directory }}:/config"log-driver:"journald"log_options:tag:unifi-poller/unifi-pollernetwork_mode:hostdocker_compose_projects:  -project_name:unmspull:yesdefinition:version:'3.5'x-logging:&default-loggingdriver:fluentdnetworks:internal:name:unms-internaldriver:bridgepublic:name:unms-publicdriver:bridgeservices:fluentd:container_name:unms-fluentdimage:"ubnt/unms-fluentd:{{ unms_version }}"tty:truenetworks:public:aliases:                -fluentdports:            -"127.0.0.1:{{ unms_fluentd_port }}:{{ unms_fluentd_port }}"volumes:            -"{{ unms_log_directory }}:/fluentd/log"environment:FLUENTD_UID:"{{ unms_user_id }}"redis:container_name:unms-redisimage:"redis:5.0.5-alpine"restart:alwaysuser:"{{ unms_user_id }}"depends_on:            -fluentdnetworks:internal:aliases:                -redisvolumes:            -"{{ unms_redis_directory }}:/data/db"logging:<<:*default-loggingoptions:fluentd-async-connect:"true"tag:unms-redistty:truecommand:"redis-server --appendonly yes --dir /data/db/"siridb:container_name:unms-siridbimage:"ubnt/unms-siridb:{{ unms_version }}"user:"{{ unms_user_id }}"restart:alwaysdepends_on:            -fluentdnetworks:internal:aliases:                -siridbvolumes:            -"{{ unms_siridb_directory }}:/var/lib/siridb"logging:<<:*default-loggingoptions:fluentd-async-connect:"true"tag:unms-siridbpostgres:container_name:unms-postgresimage:"postgres:9.6.12-alpine"restart:alwaystty:true#user: "{{ unms_user_id }}"command:postgres -c log_min_duration_statement=500 -c deadlock_timeout=5000depends_on:            -fluentdnetworks:internal:aliases:                -postgresvolumes:            -"{{ unms_pgconf_directory }}:/docker-entrypoint-initdb.d"            -"{{ unms_postgres_directory }}:{{ unms_pgdata }}"logging:<<:*default-loggingoptions:fluentd-async-connect:"true"tag:unms-postgresenvironment:POSTGRES_USER:"{{ unms_admin_postgres_user }}"POSTGRES_PASSWORD:"{{ unms_admin_postgres_password }}"UNMS_POSTGRES_DB:"{{ unms_unms_postgres_db }}"UNMS_POSTGRES_SCHEMA:"{{ unms_unms_postgres_schema }}"UNMS_POSTGRES_USER:"{{ unms_unms_postgres_user }}"UNMS_POSTGRES_PASSWORD:"{{ unms_unms_postgres_password }}"UCRM_POSTGRES_DB:"{{ unms_ucrm_postgres_db }}"UCRM_POSTGRES_SCHEMA:"{{ unms_ucrm_postgres_schema }}"UCRM_POSTGRES_USER:"{{ unms_ucrm_postgres_user }}"UCRM_POSTGRES_PASSWORD:"{{ unms_ucrm_postgres_password }}"PGDATA:"{{ unms_pgdata }}"rabbitmq:container_name:unms-rabbitmqimage:"rabbitmq:3.7.14-alpine"restart:alwaysuser:"{{ unms_user_id }}"tty:truedepends_on:            -fluentdnetworks:internal:aliases:                -rabbitmqhostname:unms-rabbitmqvolumes:            -"{{ unms_rabbitmq_directory }}:/var/lib/rabbitmq"logging:<<:*default-loggingoptions:fluentd-async-connect:"true"tag:unms-rabbitmqenvironment:RABBITMQ_SERVER_ADDITIONAL_ERL_ARGS:"{{ unms_rabbitmq_server_additional_erl_args }}"unms:container_name:unmsimage:"ubnt/unms:{{ unms_version }}"restart:alwaystty:truedepends_on:            -fluentd            -redis            -postgres            -rabbitmq            -nginx            -ucrmnetworks:            -public            -internalvolumes:            -"{{ unms_data_directory }}/:/home/app/unms/data"            -"{{ unms_yarn_directory }}:/home/app/.yarn"logging:<<:*default-loggingoptions:fluentd-async-connect:"true"tag:unmsenvironment:UNMS_USER_ID:"{{ unms_user_id }}"DEMO:"{{ unms_demo }}"NODE_ENV:"{{ unms_node_env }}"HTTP_PORT:"{{ unms_http_port }}"WS_PORT:"{{ unms_ws_port }}"WS_SHELL_PORT:"{{ unms_ws_shell_port }}"UNMS_WS_API_PORT:"{{ unms_ws_api_port }}"UNMS_NETFLOW_PORT:"{{ unms_netflow_port }}"SSL_CERT:"{{ unms_ssl_cert }}"PUBLIC_HTTPS_PORT:"{{ unms_public_https_port }}"PUBLIC_WS_PORT:"{{ unms_public_ws_port }}"NGINX_HTTPS_PORT:"{{ unms_nginx_https_port }}"NGINX_WS_PORT:"{{ unms_public_ws_port }}"SUSPEND_PORT:"{{ unms_suspend_port }}"HOST_TAG:"{{ unms_host_tag }}"BRANCH:"{{ unms_branch }}"HTTP_PROXY:"{{ unms_http_proxy }}"HTTPS_PROXY:"{{ unms_https_proxy }}"NO_PROXY:"{{ unms_no_proxy }}"http_proxy:"{{ unms_http_proxy }}"https_proxy:"{{ unms_https_proxy }}"no_proxy:"{{ unms_no_proxy }}"SECURE_LINK_SECRET:"{{ unms_secure_link_secret }}"CLUSTER_SIZE:"{{ unms_cluster_size }}"UNMS_PG_PASSWORD:"{{ unms_unms_postgres_password }}"UNMS_PG_USER:"{{ unms_unms_postgres_user }}"UNMS_PG_DB:"{{ unms_unms_postgres_db }}"UNMS_PG_SCHEMA:"{{ unms_unms_postgres_schema }}"UNMS_TOKEN:"{{ unms_token }}"UNMS_DEPLOYMENT:"{{ unms_deployment }}"UNMS_FEATURES:"{{ unms_features }}"USE_LOCAL_DISCOVERY:"{{ unms_use_local_discovery }}"cap_add:            -NET_ADMINucrm:container_name:ucrmimage:"ubnt/unms-crm:3.1.2"restart:alwaystty:truevolumes:            -"{{ unms_ucrm_directory }}:/data"command:server_with_migratedepends_on:            -fluentd            -postgres            -rabbitmq            -nginxnetworks:            -public            -internallogging:<<:*default-loggingoptions:fluentd-async-connect:"true"tag:ucrmenvironment:POSTGRES_HOST:"{{ unms_postgres_host }}"POSTGRES_PASSWORD:"{{ unms_ucrm_postgres_password }}"POSTGRES_SCHEMA:"{{ unms_ucrm_postgres_schema }}"POSTGRES_USER:"{{ unms_ucrm_postgres_user }}"POSTGRES_DB:"{{ unms_ucrm_postgres_db }}"MAILER_ADDRESS:"{{ unms_mailer_address }}"MAILER_ADDRESS_USERNAME:"{{ unms_mailer_address_username }}"MAILER_ADDRESS_PASSWORD:"{{ unms_mailer_address_password }}"SECRET:"{{ unms_secret }}"SUSPEND_PORT:"{{ unms_suspend_port }}"PUBLIC_HTTPS_PORT:"{{ unms_public_https_port }}"UCRM_USER:"{{ unms_ucrm_user }}"UNMS_VERSION:"{{ unms_version }}"UNMS_HOST:"{{ unms_host }}"UNMS_PORT:"{{ unms_http_port }}"UNMS_TOKEN:"{{ unms_token }}"UNMS_BASE_URL:"{{ unms_base_url }}"UNMS_POSTGRES_SCHEMA:"{{ unms_unms_postgres_schema }}"nginx:container_name:unms-nginximage:"ubnt/unms-nginx:{{ unms_version }}"restart:alwaystty:trueports:            -"{{ unms_nginx_http_port }}:{{ unms_nginx_http_port }}"            -"{{ unms_nginx_https_port }}:{{ unms_nginx_https_port }}"            -"{{ unms_suspend_port }}:{{ unms_suspend_port }}"networks:public:aliases:                -nginxinternal:aliases:                -nginxvolumes:            -"{{ unms_cert_directory }}:/cert"            -"{{ unms_firmware_directory }}:/www/firmwares"depends_on:            -fluentdlogging:<<:*default-loggingoptions:fluentd-async-connect:"true"tag:unms-nginxenvironment:NGINX_UID:"{{ unms_user_id }}"SSL_CERT:"{{ unms_ssl_cert }}"SSL_CERT_KEY:"{{ unms_ssl_cert_key }}"SSL_CERT_CA:"{{ unms_ssl_cert_ca }}"HTTP_PORT:"{{ unms_nginx_http_port }}"HTTPS_PORT:"{{ unms_nginx_https_port }}"SUSPEND_PORT:"{{ unms_suspend_port }}"WS_PORT:"{{ unms_public_ws_port }}"UNMS_HTTP_PORT:"{{ unms_http_port }}"UNMS_WS_PORT:"{{ unms_ws_port }}"UNMS_WS_SHELL_PORT:"{{ unms_ws_shell_port }}"UNMS_WS_API_PORT:"{{ unms_ws_api_port }}"UNMS_IP_WHITELIST:"{{ unms_ip_whitelist }}"PUBLIC_HTTPS_PORT:"{{ unms_public_https_port }}"SECURE_LINK_SECRET:"{{ unms_secure_link_secret }}"netflow:container_name:unms-netflowimage:"ubnt/unms-netflow:{{ unms_version }}"restart:alwaystty:trueuser:"{{ unms_user_id }}"ports:            -"{{ unms_netflow_port }}:{{ unms_netflow_port }}/udp"volumes:            -"/etc/localtime:/etc/localtime:ro"networks:internal:aliases:                -netflowpublic:aliases:                -netflowdepends_on:            -fluentd            -postgres            -rabbitmq            -redislogging:<<:*default-loggingoptions:fluentd-async-connect:"true"tag:unms-netflowenvironment:UNMS_NETFLOW_PORT:"{{ unms_netflow_port }}"UNMS_PG_PASSWORD:"{{ unms_unms_postgres_password}}"UNMS_PG_USER:"{{ unms_unms_postgres_user }}"UNMS_PG_DB:"{{ unms_unms_postgres_db }}"UNMS_PG_SCHEMA:"{{ unms_unms_postgres_schema }}"docker_build_images:unifi_exporter:repo:"https://github.com/ajanis/unifi_exporter.git"telegraf_plugins_extra:  -name:dockeroptions:endpoint:"unix:///var/run/docker.sock"timeout:"5s"perdevice:"true"total:"true"  -name:syslogoptions:server:"tcp://:6514"unifi_accesspoints:  -"192.168.0.200"  -"192.168.0.202"  -"192.168.0.203"  -"192.168.0.205"unifi_switches:  -"192.168.0.209"  -"192.168.0.211"rsyslog_config:true# defines if rsyslog should be configured to listen on tcp/514rsyslog_allow_tcp:true# sets the TCP port rsyslog should listen on if TCP is enabled. 514 is the IANA assigned portrsyslog_tcp_port:"514"# defines if rsyslog should be configured to listen on udp/514rsyslog_allow_udp:true# sets the UDP port rsyslog should listen on if UDP is enabled. 514 is the IANA assigned portrsyslog_udp_port:"514"# remote rsyslog server configsrsyslog_servers:  -name:(o)127.0.0.1proto:tcpport:"6514"format:"RSYSLOG_SyslogProtocol23Format"selectors:      -"*.*"telegraf_plugins_extra:  -name:dockeroptions:endpoint:"unix:///var/run/docker.sock"timeout:"5s"perdevice:"true"total:"true"  -name:syslogoptions:server:"tcp4://:6514"## EdgeSwitch CPU Utilization  -name:execoptions:commands:        -"/usr/local/bin/edgeswitch_load.sh 192.168.0.5"        -"/usr/local/bin/edgeswitch_load.sh 192.168.0.6"        -"/usr/local/bin/edgeswitch_load.sh 192.168.0.7"timeout:"1s"interval:"5s"data_format:"influx"## Unifi Switch Metrics## Ubiquiti AP Devices  -name:snmpoptions:name:"snmp.UAP"agents:"{{ unifi_accesspoints }}"interval:"10s"timeout:"10s"retries:3version:2community:"public"max_repetitions:1  -name:snmp.fieldoptions:is_tag:"true"name:"sysName"oid:"RFC1213-MIB::sysName.0"  -name:snmp.fieldoptions:name:"sysObjectID"oid:"RFC1213-MIB::sysObjectID.0"  -name:snmp.fieldoptions:name:"sysDescr"oid:"RFC1213-MIB::sysDescr.0"  -name:snmp.fieldoptions:name:"sysContact"oid:"RFC1213-MIB::sysContact.0"  -name:snmp.fieldoptions:name:"sysLocation"oid:"RFC1213-MIB::sysLocation.0"  -name:snmp.fieldoptions:name:"sysUpTime"oid:"RFC1213-MIB::sysUpTime.0"  -name:snmp.fieldoptions:name:"unifiApSystemModel"oid:"UBNT-UniFi-MIB::unifiApSystemModel"  -name:snmp.fieldoptions:name:"unifiApSystemVersion"oid:"UBNT-UniFi-MIB::unifiApSystemVersion"  -name:snmp.fieldoptions:name:"memTotal"oid:"FROGFOOT-RESOURCES-MIB::memTotal.0"  -name:snmp.fieldoptions:name:"memFree"oid:"FROGFOOT-RESOURCES-MIB::memFree.0"  -name:snmp.fieldoptions:name:"memBuffer"oid:"FROGFOOT-RESOURCES-MIB::memBuffer.0"  -name:snmp.fieldoptions:name:"memCache"oid:"FROGFOOT-RESOURCES-MIB::memCache.0"  -name:snmp.tableoptions:oid:"IF-MIB::ifTable"  -name:snmp.table.fieldoptions:is_tag:"true"oid:"IF-MIB::ifDescr"  -name:snmp.tableoptions:oid:"UBNT-UniFi-MIB::unifiRadioTable"  -name:snmp.table.fieldoptions:is_tag:"true"oid:"UBNT-UniFi-MIB::unifiRadioName"  -name:snmp.table.fieldoptions:is_tag:"true"oid:"UBNT-UniFi-MIB::unifiRadioRadio"  -name:snmp.tableoptions:oid:"UBNT-UniFi-MIB::unifiVapTable"  -name:snmp.table.fieldoptions:is_tag:"true"oid:"UBNT-UniFi-MIB::unifiVapName"  -name:snmp.table.fieldoptions:is_tag:"true"oid:"UBNT-UniFi-MIB::unifiVapRadio"  -name:snmp.tableoptions:oid:"UBNT-UniFi-MIB::unifiIfTable"  -name:snmp.table.fieldoptions:is_tag:"true"oid:"UBNT-UniFi-MIB::unifiIfName"  -name:snmp.tableoptions:oid:"FROGFOOT-RESOURCES-MIB::loadTable"  -name:snmp.table.fieldoptions:is_tag:"true"oid:"FROGFOOT-RESOURCES-MIB::loadDescr"  -name:snmp.fieldoptions:name:"snmpInPkts"oid:"SNMPv2-MIB::snmpInPkts.0"  -name:snmp.fieldoptions:name:"snmpInGetRequests"oid:"SNMPv2-MIB::snmpInGetRequests.0"  -name:snmp.fieldoptions:name:"snmpInGetNexts"oid:"SNMPv2-MIB::snmpInGetNexts.0"  -name:snmp.fieldoptions:name:"snmpInTotalReqVars"oid:"SNMPv2-MIB::snmpInTotalReqVars.0"  -name:snmp.fieldoptions:name:"snmpInGetResponses"oid:"SNMPv2-MIB::snmpInGetResponses.0"  -name:snmp.fieldoptions:name:"snmpOutPkts"oid:"SNMPv2-MIB::snmpOutPkts.0"  -name:snmp.fieldoptions:name:"snmpOutGetRequests"oid:"SNMPv2-MIB::snmpOutGetRequests.0"  -name:snmp.fieldoptions:name:"snmpOutGetNexts"oid:"SNMPv2-MIB::snmpOutGetNexts.0"  -name:snmp.fieldoptions:name:"snmpOutGetResponses"oid:"SNMPv2-MIB::snmpOutGetResponses.0"## EdgeRouter devices  -name:snmpoptions:name:"snmp.EdgeOS"agents:        -"192.168.0.5"        -"192.168.0.6"        -"192.168.0.7"interval:"30s"timeout:"15s"retries:3version:2community:"public"max_repetitions:1fielddrop:        -"laErrorFlag"        -"laErrMessage"#      tagdrop:#        diskIODevice:#          - "loop*"#          - "ram*"  -name:snmp.fieldoptions:name:"sysName"oid:"SNMPv2-MIB::sysName.0"is_tag:"true"#  System vendor OID  -name:snmp.fieldoptions:name:"sysObjectID"oid:"SNMPv2-MIB::sysObjectID.0"#  System description  -name:snmp.fieldoptions:name:"sysDescr"oid:"ENTITY-MIB::entPhysicalModelName.2"#  System Firmware  -name:snmp.fieldoptions:name:"emSoftwareRev"oid:"ENTITY-MIB::entPhysicalSoftwareRev.1"#  System Serial  -name:snmp.fieldoptions:name:"emSerialNum"oid:"ENTITY-MIB::entPhysicalSerialNum.1"## Host/System Resources#  System uptime  -name:snmp.fieldoptions:name:"sysUpTime"oid:"iso.3.6.1.2.1.1.3.0"## System Memory (physical/virtual)# Total Mem  -name:snmp.fieldoptions:name:"fpMemAvailable"oid:"1.3.6.1.4.1.4413.1.1.1.1.4.2.0"# Free Mem  -name:snmp.fieldoptions:name:"fpMemFree"oid:"1.3.6.1.4.1.4413.1.1.1.1.4.1.0"## Interface metrics#  Per-interface traffic, errors, drops  -name:snmp.tableoptions:oid:"IF-MIB::ifTable"  -name:snmp.table.fieldoptions:oid:"IF-MIB::ifName"is_tag:"true"  -name:snmp.tableoptions:oid:"IF-MIB::ifXTable"  -name:snmp.table.fieldoptions:oid:"IF-MIB::ifAlias"is_tag:"true"  -name:snmp.table.fieldoptions:oid:"IF-MIB::ifName"is_tag:"true"## SNMP metrics#  Number of SNMP messages received  -name:snmp.fieldoptions:name:"snmpInPkts"oid:"SNMPv2-MIB::snmpInPkts.0"#  Number of SNMP Get-Request received  -name:snmp.fieldoptions:name:"snmpInGetRequests"oid:"SNMPv2-MIB::snmpInGetRequests.0"#  Number of SNMP Get-Next received  -name:snmp.fieldoptions:name:"snmpInGetNexts"oid:"SNMPv2-MIB::snmpInGetNexts.0"#  Number of SNMP objects requested  -name:snmp.fieldoptions:name:"snmpInTotalReqVars"oid:"SNMPv2-MIB::snmpInTotalReqVars.0"#  Number of SNMP Get-Response received  -name:snmp.fieldoptions:name:"snmpInGetResponses"oid:"SNMPv2-MIB::snmpInGetResponses.0"#  Number of SNMP messages sent  -name:snmp.fieldoptions:name:"snmpOutPkts"oid:"SNMPv2-MIB::snmpOutPkts.0"#  Number of SNMP Get-Request sent  -name:snmp.fieldoptions:name:"snmpOutGetRequests"oid:"SNMPv2-MIB::snmpOutGetRequests.0"#  Number of SNMP Get-Next sent  -name:snmp.fieldoptions:name:"snmpOutGetNexts"oid:"SNMPv2-MIB::snmpOutGetNexts.0"#  Number of SNMP Get-Response sent  -name:snmp.fieldoptions:name:"snmpOutGetResponses"oid:"SNMPv2-MIB::snmpOutGetResponses.0"## Unifi Switch devices  -name:snmpoptions:name:"snmp.USW"agents:"{{ unifi_switches }}"interval:"30s"timeout:"15s"retries:3version:2community:"public"max_repetitions:1fielddrop:        -"laErrorFlag"        -"laErrMessage"#      tagdrop:#        diskIODevice:#          - "loop*"#          - "ram*"  -name:snmp.fieldoptions:name:"sysName"oid:"SNMPv2-MIB::sysName.0"is_tag:"true"#  System vendor OID  -name:snmp.fieldoptions:name:"sysObjectID"oid:"SNMPv2-MIB::sysObjectID.0"#  System description  -name:snmp.fieldoptions:name:"sysDescr"oid:"ENTITY-MIB::entPhysicalModelName.2"#  System Firmware  -name:snmp.fieldoptions:name:"emSoftwareRev"oid:"ENTITY-MIB::entPhysicalSoftwareRev.1"#  System Serial  -name:snmp.fieldoptions:name:"emSerialNum"oid:"ENTITY-MIB::entPhysicalSerialNum.1"## Host/System Resources#  System uptime  -name:snmp.fieldoptions:name:"sysUpTime"oid:"iso.3.6.1.2.1.1.3.0"## System Memory (physical/virtual)# Total Mem  -name:snmp.fieldoptions:name:"fpMemAvailable"oid:"1.3.6.1.4.1.4413.1.1.1.1.4.2.0"# Free Mem  -name:snmp.fieldoptions:name:"fpMemFree"oid:"1.3.6.1.4.1.4413.1.1.1.1.4.1.0"## Interface metrics#  Per-interface traffic, errors, drops  -name:snmp.tableoptions:oid:"IF-MIB::ifTable"  -name:snmp.table.fieldoptions:oid:"IF-MIB::ifName"is_tag:"true"  -name:snmp.tableoptions:oid:"IF-MIB::ifXTable"  -name:snmp.table.fieldoptions:oid:"IF-MIB::ifAlias"is_tag:"true"  -name:snmp.table.fieldoptions:oid:"IF-MIB::ifName"is_tag:"true"## SNMP metrics#  Number of SNMP messages received  -name:snmp.fieldoptions:name:"snmpInPkts"oid:"SNMPv2-MIB::snmpInPkts.0"#  Number of SNMP Get-Request received  -name:snmp.fieldoptions:name:"snmpInGetRequests"oid:"SNMPv2-MIB::snmpInGetRequests.0"#  Number of SNMP Get-Next received  -name:snmp.fieldoptions:name:"snmpInGetNexts"oid:"SNMPv2-MIB::snmpInGetNexts.0"#  Number of SNMP objects requested  -name:snmp.fieldoptions:name:"snmpInTotalReqVars"oid:"SNMPv2-MIB::snmpInTotalReqVars.0"#  Number of SNMP Get-Response received  -name:snmp.fieldoptions:name:"snmpInGetResponses"oid:"SNMPv2-MIB::snmpInGetResponses.0"#  Number of SNMP messages sent  -name:snmp.fieldoptions:name:"snmpOutPkts"oid:"SNMPv2-MIB::snmpOutPkts.0"#  Number of SNMP Get-Request sent  -name:snmp.fieldoptions:name:"snmpOutGetRequests"oid:"SNMPv2-MIB::snmpOutGetRequests.0"#  Number of SNMP Get-Next sent  -name:snmp.fieldoptions:name:"snmpOutGetNexts"oid:"SNMPv2-MIB::snmpOutGetNexts.0"#  Number of SNMP Get-Response sent  -name:snmp.fieldoptions:name:"snmpOutGetResponses"oid:"SNMPv2-MIB::snmpOutGetResponses.0"

Prometheus Exporter

You will need Prometheus set up somewhere to use the Unifi-Exporter. You may want to look atThis InfluxDB Role for deploying InfluxDB + Prometheus, which also includes the required Prometheus configuration for the Unifi-Exporter.

Deploying Telegraf

You may also wish to include thisTelegraf role, which will configure the Telegraf service along with the SNMP MIBS + Telegraf config needed for polling Unifi access point metrics.

NOTE: You will need InfluxDB set up somewhere to use the Telegraf + SNMP exporter. You may want to look atThis InfluxDB Role for deploying InfluxDB + Prometheus.

Updated playbook

----name:Deploy containerized Ubiquiti UNMS Stack and Unifi-Admin Serverhosts:    -unifi    -unmsremote_user:rootgather_facts:yesvars_files:    -vault.ymltasks:    -import_role:name:common    -import_role:name:openldapwhen:openldap_server_ip is defined and openldap_server_ip != None    -import_role:name:ceph-fswhen:        -shared_storage        -storage_backend == "cephfs"    -import_role:name:unifi    -import_role:name:dockertags:        -docker    -import_role:name:unifitasks_from:unifi_admin_ssl    -import_role:name:telegrafwhen:"'telegraf' in group_names"    -setup:

Unifi role group_vars for Telegraf

telegraf_plugins_extra:  -name:dockeroptions:endpoint:"unix:///var/run/docker.sock"timeout:"5s"perdevice:"true"total:"true"## EdgeSwitch CPU Utilization  -name:execoptions:commands:        -"/etc/telegraf/telegraf.d/scripts/edgeswitch_load.sh 192.168.0.5"        -"/etc/telegraf/telegraf.d/scripts/edgeswitch_load.sh 192.168.0.6"        -"/etc/telegraf/telegraf.d/scripts/edgeswitch_load.sh 192.168.0.7"timeout:"1s"interval:"5s"data_format:"influx"## Ubiquiti AP Devices  -name:snmpoptions:name:"snmp.UAP"agents:        -"192.168.0.101"        -"192.168.0.102"        -"192.168.0.104"interval:"10s"timeout:"10s"retries:3version:2community:"public"max_repetitions:1  -name:snmp.fieldoptions:is_tag:"true"name:"sysName"oid:"RFC1213-MIB::sysName.0"  -name:snmp.fieldoptions:name:"sysObjectID"oid:"RFC1213-MIB::sysObjectID.0"  -name:snmp.fieldoptions:name:"sysDescr"oid:"RFC1213-MIB::sysDescr.0"  -name:snmp.fieldoptions:name:"sysContact"oid:"RFC1213-MIB::sysContact.0"  -name:snmp.fieldoptions:name:"sysLocation"oid:"RFC1213-MIB::sysLocation.0"  -name:snmp.fieldoptions:name:"sysUpTime"oid:"RFC1213-MIB::sysUpTime.0"  -name:snmp.fieldoptions:name:"unifiApSystemModel"oid:"UBNT-UniFi-MIB::unifiApSystemModel"  -name:snmp.fieldoptions:name:"unifiApSystemVersion"oid:"UBNT-UniFi-MIB::unifiApSystemVersion"  -name:snmp.fieldoptions:name:"memTotal"oid:"FROGFOOT-RESOURCES-MIB::memTotal.0"  -name:snmp.fieldoptions:name:"memFree"oid:"FROGFOOT-RESOURCES-MIB::memFree.0"  -name:snmp.fieldoptions:name:"memBuffer"oid:"FROGFOOT-RESOURCES-MIB::memBuffer.0"  -name:snmp.fieldoptions:name:"memCache"oid:"FROGFOOT-RESOURCES-MIB::memCache.0"  -name:snmp.tableoptions:oid:"IF-MIB::ifTable"  -name:snmp.table.fieldoptions:is_tag:"true"oid:"IF-MIB::ifDescr"  -name:snmp.tableoptions:oid:"UBNT-UniFi-MIB::unifiRadioTable"  -name:snmp.table.fieldoptions:is_tag:"true"oid:"UBNT-UniFi-MIB::unifiRadioName"  -name:snmp.table.fieldoptions:is_tag:"true"oid:"UBNT-UniFi-MIB::unifiRadioRadio"  -name:snmp.tableoptions:oid:"UBNT-UniFi-MIB::unifiVapTable"  -name:snmp.table.fieldoptions:is_tag:"true"oid:"UBNT-UniFi-MIB::unifiVapName"  -name:snmp.table.fieldoptions:is_tag:"true"oid:"UBNT-UniFi-MIB::unifiVapRadio"  -name:snmp.tableoptions:oid:"UBNT-UniFi-MIB::unifiIfTable"  -name:snmp.table.fieldoptions:is_tag:"true"oid:"UBNT-UniFi-MIB::unifiIfName"  -name:snmp.tableoptions:oid:"FROGFOOT-RESOURCES-MIB::loadTable"  -name:snmp.table.fieldoptions:is_tag:"true"oid:"FROGFOOT-RESOURCES-MIB::loadDescr"  -name:snmp.fieldoptions:name:"snmpInPkts"oid:"SNMPv2-MIB::snmpInPkts.0"  -name:snmp.fieldoptions:name:"snmpInGetRequests"oid:"SNMPv2-MIB::snmpInGetRequests.0"  -name:snmp.fieldoptions:name:"snmpInGetNexts"oid:"SNMPv2-MIB::snmpInGetNexts.0"  -name:snmp.fieldoptions:name:"snmpInTotalReqVars"oid:"SNMPv2-MIB::snmpInTotalReqVars.0"  -name:snmp.fieldoptions:name:"snmpInGetResponses"oid:"SNMPv2-MIB::snmpInGetResponses.0"  -name:snmp.fieldoptions:name:"snmpOutPkts"oid:"SNMPv2-MIB::snmpOutPkts.0"  -name:snmp.fieldoptions:name:"snmpOutGetRequests"oid:"SNMPv2-MIB::snmpOutGetRequests.0"  -name:snmp.fieldoptions:name:"snmpOutGetNexts"oid:"SNMPv2-MIB::snmpOutGetNexts.0"  -name:snmp.fieldoptions:name:"snmpOutGetResponses"oid:"SNMPv2-MIB::snmpOutGetResponses.0"## EdgeRouter devices  -name:snmpoptions:name:"snmp.EdgeOS"agents:        -"192.168.0.5"        -"192.168.0.6"        -"192.168.0.7"interval:"30s"timeout:"15s"retries:3version:2community:"public"max_repetitions:1fielddrop:        -"laErrorFlag"        -"laErrMessage"#      tagdrop:#        diskIODevice:#          - "loop*"#          - "ram*"  -name:snmp.fieldoptions:name:"sysName"oid:"SNMPv2-MIB::sysName.0"is_tag:"true"#  System vendor OID  -name:snmp.fieldoptions:name:"sysObjectID"oid:"SNMPv2-MIB::sysObjectID.0"#  System description  -name:snmp.fieldoptions:name:"sysDescr"oid:"ENTITY-MIB::entPhysicalModelName.2"#  System Firmware  -name:snmp.fieldoptions:name:"emSoftwareRev"oid:"ENTITY-MIB::entPhysicalSoftwareRev.1"#  System Serial  -name:snmp.fieldoptions:name:"emSerialNum"oid:"ENTITY-MIB::entPhysicalSerialNum.1"## Host/System Resources#  System uptime  -name:snmp.fieldoptions:name:"sysUpTime"oid:"iso.3.6.1.2.1.1.3.0"## System Memory (physical/virtual)# Total Mem  -name:snmp.fieldoptions:name:"fpMemAvailable"oid:"1.3.6.1.4.1.4413.1.1.1.1.4.2.0"# Free Mem  -name:snmp.fieldoptions:name:"fpMemFree"oid:"1.3.6.1.4.1.4413.1.1.1.1.4.1.0"## Interface metrics#  Per-interface traffic, errors, drops  -name:snmp.tableoptions:oid:"IF-MIB::ifTable"  -name:snmp.table.fieldoptions:oid:"IF-MIB::ifName"is_tag:"true"  -name:snmp.tableoptions:oid:"IF-MIB::ifXTable"  -name:snmp.table.fieldoptions:oid:"IF-MIB::ifAlias"is_tag:"true"  -name:snmp.table.fieldoptions:oid:"IF-MIB::ifName"is_tag:"true"## SNMP metrics#  Number of SNMP messages received  -name:snmp.fieldoptions:name:"snmpInPkts"oid:"SNMPv2-MIB::snmpInPkts.0"#  Number of SNMP Get-Request received  -name:snmp.fieldoptions:name:"snmpInGetRequests"oid:"SNMPv2-MIB::snmpInGetRequests.0"#  Number of SNMP Get-Next received  -name:snmp.fieldoptions:name:"snmpInGetNexts"oid:"SNMPv2-MIB::snmpInGetNexts.0"#  Number of SNMP objects requested  -name:snmp.fieldoptions:name:"snmpInTotalReqVars"oid:"SNMPv2-MIB::snmpInTotalReqVars.0"#  Number of SNMP Get-Response received  -name:snmp.fieldoptions:name:"snmpInGetResponses"oid:"SNMPv2-MIB::snmpInGetResponses.0"#  Number of SNMP messages sent  -name:snmp.fieldoptions:name:"snmpOutPkts"oid:"SNMPv2-MIB::snmpOutPkts.0"#  Number of SNMP Get-Request sent  -name:snmp.fieldoptions:name:"snmpOutGetRequests"oid:"SNMPv2-MIB::snmpOutGetRequests.0"#  Number of SNMP Get-Next sent  -name:snmp.fieldoptions:name:"snmpOutGetNexts"oid:"SNMPv2-MIB::snmpOutGetNexts.0"#  Number of SNMP Get-Response sent  -name:snmp.fieldoptions:name:"snmpOutGetResponses"oid:"SNMPv2-MIB::snmpOutGetResponses.0"

About

No description or website provided.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages


[8]ページ先頭

©2009-2025 Movatter.jp