Skip to content

Commit cf8b9ff

Browse files
committed
snmp: borrow dummy plugin as a start point
Add: ChatGPT in_snmp Add: snmp get with fix request Add: snmp with log recorder Add: print value by sprint_realloc_by_type Fix: refine code. Add: walk get values TMP Signed-off-by: k402xxxcenxxx <[email protected]>
1 parent 362ca1f commit cf8b9ff

File tree

8 files changed

+590
-0
lines changed

8 files changed

+590
-0
lines changed

CMakeLists.txt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -97,6 +97,7 @@ include(GNUInstallDirs)
9797
include(ExternalProject)
9898
include(cmake/FindJournald.cmake)
9999
include(cmake/FindMonkey.cmake)
100+
include(cmake/FindNetsnmp.cmake)
100101
include(cmake/macros.cmake)
101102
include(cmake/platform_feature_checks.cmake)
102103
set(CMAKE_MODULE_PATH "${PROJECT_SOURCE_DIR}/cmake/sanitizers-cmake/cmake" ${CMAKE_MODULE_PATH})

cmake/FindNetsnmp.cmake

Lines changed: 73 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,73 @@
1+
# - Find Net-SNMP
2+
#
3+
# -*- cmake -*-
4+
#
5+
# Find the Net-SNMP module
6+
#
7+
# NETSNMP_INCLUDE_DIR - where to find Net-SNMP.h, etc.
8+
# NETSNMP_LIBRARIES - List of libraries when using Net-SNMP.
9+
# NETSNMP_FOUND - True if Net-SNMP found.
10+
11+
IF (NETSNMP_INCLUDE_DIR)
12+
# Already in cache, be silent
13+
SET(NETSNMP_FIND_QUIETLY TRUE)
14+
ENDIF (NETSNMP_INCLUDE_DIR)
15+
16+
FIND_PATH(NETSNMP_INCLUDE_DIR snmp.h
17+
/usr/include/net-snmp/library
18+
)
19+
20+
SET(NETSNMP_NAMES netsnmp)
21+
FIND_LIBRARY(NETSNMP_LIBRARY
22+
NAMES ${NETSNMP_NAMES}
23+
PATHS /usr/lib /usr/local/lib
24+
)
25+
26+
SET(NETSNMPAGENT_NAMES netsnmpagent)
27+
FIND_LIBRARY(NETSNMPAGENT_LIBRARY
28+
NAMES ${NETSNMPAGENT_NAMES}
29+
PATHS /usr/lib /usr/local/lib
30+
)
31+
32+
SET(NETSNMPHELPERS_NAMES netsnmphelpers)
33+
FIND_LIBRARY(NETSNMPHELPERS_LIBRARY
34+
NAMES ${NETSNMPHELPERS_NAMES}
35+
PATHS /usr/lib /usr/local/lib
36+
)
37+
38+
SET(NETSNMPMIBS_NAMES netsnmpmibs)
39+
FIND_LIBRARY(NETSNMPMIBS_LIBRARY
40+
NAMES ${NETSNMPMIBS_NAMES}
41+
PATHS /usr/lib /usr/local/lib
42+
)
43+
44+
SET(NETSNMPTRAPD_NAMES netsnmptrapd)
45+
FIND_LIBRARY(NETSNMPTRAPD_LIBRARY
46+
NAMES ${NETSNMPTRAPD_NAMES}
47+
PATHS /usr/lib /usr/local/lib
48+
)
49+
50+
SET(NETSNMP_LIBRARIES
51+
${NETSNMP_LIBRARY}
52+
${NETSNMPAGENT_LIBRARY}
53+
${NETSNMPHELPERS_LIBRARY}
54+
${NETSNMPMIBS_LIBRARY}
55+
# ${NETSNMPTRAPD_LIBRARY}
56+
)
57+
58+
59+
INCLUDE(FindPackageHandleStandardArgs)
60+
FIND_PACKAGE_HANDLE_STANDARD_ARGS(NETSNMP
61+
DEFAULT_MSG
62+
NETSNMP_INCLUDE_DIR
63+
NETSNMP_LIBRARIES
64+
)
65+
66+
MARK_AS_ADVANCED(
67+
NETSNMP_LIBRARY
68+
NETSNMPAGENT_LIBRARY
69+
NETSNMPHELPERS_LIBRARY
70+
NETSNMPMIBS_LIBRARY
71+
NETSNMPTRAPD_LIBRARY
72+
NETSNMP_INCLUDE_DIR
73+
)

plugins/CMakeLists.txt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -223,6 +223,7 @@ REGISTER_IN_PLUGIN("in_prometheus_scrape")
223223
REGISTER_IN_PLUGIN("in_emitter")
224224
REGISTER_IN_PLUGIN("in_tail")
225225
REGISTER_IN_PLUGIN("in_dummy")
226+
REGISTER_IN_PLUGIN("in_snmp")
226227
REGISTER_IN_PLUGIN("in_head")
227228
REGISTER_IN_PLUGIN("in_health")
228229
REGISTER_IN_PLUGIN("in_http")

plugins/in_snmp/CMakeLists.txt

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
set(NETSNMP_LIBRARIES ${NETSNMP_LIBRARY})
2+
set(NETSNMP_INCLUDE_DIRS ${NETSNMP_INCLUDE_DIR})
3+
4+
set(src
5+
in_snmp.c)
6+
7+
FLB_PLUGIN(in_snmp "${src}" "")
8+
target_link_libraries(flb-plugin-in_snmp ${NETSNMP_LIBRARIES})

0 commit comments

Comments
 (0)