]>
Commit | Line | Data |
---|---|---|
5c193dec | 1 | /* |
b8ae064d | 2 | * Copyright (C) 1996-2023 The Squid Software Foundation and contributors |
5c193dec AJ |
3 | * |
4 | * Squid software is distributed under GPLv2+ license and includes | |
5 | * contributions from numerous individuals and organizations. | |
6 | * Please see the COPYING and CONTRIBUTORS files for details. | |
7 | */ | |
8 | ||
f13f02e9 | 9 | #ifndef SQUID_CACHE_SNMP_H |
10 | #define SQUID_CACHE_SNMP_H | |
b5638623 | 11 | |
0f658b5b | 12 | #if SQUID_SNMP |
d82d8654 | 13 | |
9c0a2256 | 14 | typedef int64_t snint; |
c6da280c | 15 | |
43d4303e | 16 | #ifndef MIN |
17 | #define MIN(a,b) (a<b?a:b) | |
18 | #endif | |
19 | ||
d60c11be | 20 | #include "snmp.h" |
d60c11be | 21 | #include "snmp_api.h" |
602d9612 | 22 | #include "snmp_impl.h" |
d82d8654 | 23 | |
d82d8654 | 24 | /* MIB definitions |
85ee654a | 25 | * SQUID-MIB |
eba4a24f | 26 | * .iso.org.dod.internet.private.enterprises.nlanr.squid |
27 | * 1 3 6 1 4 1 3495 1 | |
d82d8654 | 28 | * |
85ee654a | 29 | * PROXY-MIB |
eba4a24f | 30 | * .iso.org.dod.internet.experimental.nsfnet.proxy |
31 | * 1 3 6 1 3 25 17 | |
d82d8654 | 32 | */ |
33 | ||
85ee654a | 34 | #define SQUIDMIB 1, 3, 6, 1, 4, 1, 3495, 1 |
35 | #define LEN_SQUIDMIB 8 | |
b6a2f15e | 36 | #define INSTANCE 0 |
37 | #define TIME_INDEX 1, 5, 60 | |
38 | #define TIME_INDEX_LEN 3 | |
ad82c599 | 39 | |
d82d8654 | 40 | /* basic groups under .squid */ |
41 | ||
cc192b50 | 42 | #define SQ_SYS SQUIDMIB, 1 /* cacheSystem group { squid 1 } */ |
d60c11be | 43 | #define LEN_SQ_SYS LEN_SQUIDMIB+1 |
cc192b50 | 44 | #define SQ_CONF SQUIDMIB, 2 /* cacheConfig group { squid 2 } */ |
d60c11be | 45 | #define LEN_SQ_CONF LEN_SQUIDMIB+1 |
cc192b50 | 46 | #define SQ_PRF SQUIDMIB, 3 /* cachePerformance group { squid 3 } */ |
d60c11be | 47 | #define LEN_SQ_PRF LEN_SQUIDMIB+1 |
cc192b50 | 48 | #define SQ_NET SQUIDMIB, 4 /* cacheNetwork group { squid 4 } */ |
d60c11be | 49 | #define LEN_SQ_NET LEN_SQUIDMIB+1 |
cc192b50 | 50 | #define SQ_MESH SQUIDMIB, 5 /* cacheMesh group { squid 5 } */ |
81d0c856 | 51 | #define LEN_SQ_MESH LEN_SQUIDMIB+1 |
d82d8654 | 52 | |
c5753707 | 53 | /** |
cc192b50 | 54 | * cacheSystem group { squid 1 } |
eba4a24f | 55 | */ |
d82d8654 | 56 | enum { |
c5753707 AJ |
57 | SYS_START = 0, |
58 | SYSVMSIZ = 1, /**< cacheSysVMsize */ | |
59 | SYSSTOR = 2, /**< cacheSysStorage */ | |
60 | SYS_UPTIME = 3, /**< cacheUptime */ | |
d60c11be | 61 | SYS_END |
d82d8654 | 62 | }; |
1b058963 | 63 | |
b6a2f15e | 64 | #define LEN_SYS LEN_SQ_SYS + 1 |
65 | #define LEN_SYS_INST LEN_SQ_SYS + 2 | |
66 | ||
c5753707 | 67 | /** |
cc192b50 | 68 | * cacheConfig group { squid 2 } |
eba4a24f | 69 | */ |
d82d8654 | 70 | enum { |
c5753707 AJ |
71 | CONF_START = 0, |
72 | CONF_ADMIN = 1, /**< cacheAdmin */ | |
73 | CONF_VERSION = 2, /**< cacheSoftware */ | |
74 | CONF_VERSION_ID = 3, /**< cacheVersionId */ | |
75 | CONF_LOG_FAC = 4, /**< cacheLoggingFacility */ | |
76 | CONF_STORAGE = 5, /**< cacheStorageConfig group */ | |
77 | CONF_UNIQNAME = 6, /**< cacheUniqName */ | |
d60c11be | 78 | CONF_END |
79 | }; | |
80 | ||
b6a2f15e | 81 | #define LEN_CONF LEN_SQ_CONF + 1 |
82 | #define LEN_CONF_INST LEN_SQ_CONF + 2 | |
83 | ||
c5753707 | 84 | /** |
cc192b50 | 85 | * cacheStorageConfig group { cacheConfig 5 } |
86 | */ | |
d60c11be | 87 | enum { |
c5753707 AJ |
88 | CONF_ST_START = 0, |
89 | CONF_ST_MMAXSZ = 1, /* cacheMemMaxSize */ | |
90 | CONF_ST_SWMAXSZ = 2, /* cacheSwapMaxSize */ | |
91 | CONF_ST_SWHIWM = 3, /* cacheSwapHighWM */ | |
92 | CONF_ST_SWLOWM = 4, /* cacheSwapLowWM */ | |
d60c11be | 93 | CONF_ST_END |
94 | }; | |
95 | ||
b6a2f15e | 96 | #define LEN_CONF_ST LEN_CONF + 1 |
97 | #define LEN_CONF_ST_INST LEN_CONF + 2 | |
98 | ||
c5dd4956 | 99 | /* |
cc192b50 | 100 | * Cache Performance Group {squid 3} |
eba4a24f | 101 | */ |
81d0c856 | 102 | |
d60c11be | 103 | enum { |
c5753707 AJ |
104 | PERF_START = 0, |
105 | PERF_SYS = 1, /* cacheSysPerf */ | |
106 | PERF_PROTO = 2, /* cacheProtoStats */ | |
cc192b50 | 107 | PERF_END |
d60c11be | 108 | }; |
109 | ||
cc192b50 | 110 | /* cacheSysPerf */ |
111 | enum { | |
c5753707 AJ |
112 | PERF_SYS_START = 0, |
113 | PERF_SYS_PF = 1, /* cacheSysPageFaults */ | |
114 | PERF_SYS_NUMR = 2, /* cacheSysNumReads */ | |
115 | PERF_SYS_MEMUSAGE = 3, /* cacheMemUsage */ | |
116 | PERF_SYS_CPUTIME = 4, /* cacheCpuTime */ | |
117 | PERF_SYS_CPUUSAGE = 5, /* cacheCpuUsage */ | |
118 | PERF_SYS_MAXRESSZ = 6, /* cacheMaxResSize */ | |
119 | PERF_SYS_NUMOBJCNT = 7, /* cacheNumObjCount */ | |
120 | PERF_SYS_CURLRUEXP = 8, /* cacheCurrentLRUExpiration */ | |
121 | PERF_SYS_CURUNLREQ = 9, /* cacheCurrentUnlinkRequests */ | |
122 | PERF_SYS_CURUNUSED_FD = 10, /* cacheCurrentUnusedFDescrCnt */ | |
123 | PERF_SYS_CURRESERVED_FD = 11, /* cacheCurrentResFileDescrCnt */ | |
124 | PERF_SYS_CURUSED_FD = 12, /* cacheCurrentFileDescrCnt */ | |
125 | PERF_SYS_CURMAX_FD = 13, /* cacheCurrentFileDescrMax */ | |
cc192b50 | 126 | PERF_SYS_END |
81d0c856 | 127 | }; |
128 | ||
cc192b50 | 129 | /* cacheProtoStats */ |
130 | enum { | |
131 | PERF_PROTOSTAT_START, | |
c5753707 AJ |
132 | PERF_PROTOSTAT_AGGR = 1, /* cacheProtoAggregateStats */ |
133 | PERF_PROTOSTAT_MEDIAN = 2, /* cacheMedianSvcTable */ | |
cc192b50 | 134 | PERF_PROTOSTAT_END |
135 | }; | |
136 | ||
137 | /* cacheProtoAggregateStats */ | |
138 | enum { | |
c5753707 AJ |
139 | PERF_PROTOSTAT_AGGR_START = 0, |
140 | PERF_PROTOSTAT_AGGR_HTTP_REQ = 1, /* cacheProtoClientHttpRequests */ | |
141 | PERF_PROTOSTAT_AGGR_HTTP_HITS = 2, /* cacheHttpHits */ | |
142 | PERF_PROTOSTAT_AGGR_HTTP_ERRORS = 3, /* cacheHttpErrors */ | |
143 | PERF_PROTOSTAT_AGGR_HTTP_KBYTES_IN = 4, /* cacheHttpInKb */ | |
144 | PERF_PROTOSTAT_AGGR_HTTP_KBYTES_OUT = 5, /* cacheHttpOutKb */ | |
145 | PERF_PROTOSTAT_AGGR_ICP_S = 6, /* cacheIcpPktsSent */ | |
146 | PERF_PROTOSTAT_AGGR_ICP_R = 7, /* cacheIcpPktsRecv */ | |
147 | PERF_PROTOSTAT_AGGR_ICP_SKB = 8, /* cacheIcpKbSent */ | |
148 | PERF_PROTOSTAT_AGGR_ICP_RKB = 9, /* cacheIcpKbRecv */ | |
149 | PERF_PROTOSTAT_AGGR_REQ = 10, /* cacheServerRequests */ | |
150 | PERF_PROTOSTAT_AGGR_ERRORS = 11, /* cacheServerErrors */ | |
151 | PERF_PROTOSTAT_AGGR_KBYTES_IN = 12, /* cacheServerInKb */ | |
152 | PERF_PROTOSTAT_AGGR_KBYTES_OUT = 13, /* cacheServerOutKb */ | |
153 | PERF_PROTOSTAT_AGGR_CURSWAP = 14, /* cacheCurrentSwapSize */ | |
154 | PERF_PROTOSTAT_AGGR_CLIENTS = 15, /* cacheClients */ | |
cc192b50 | 155 | PERF_PROTOSTAT_AGGR_END |
156 | }; | |
157 | ||
c5753707 | 158 | /* cacheMedianSvcEntry */ |
cc192b50 | 159 | enum { |
c5753707 AJ |
160 | PERF_MEDIAN_START = 0, |
161 | PERF_MEDIAN_TIME = 1, /* cacheMedianTime */ | |
162 | PERF_MEDIAN_HTTP_ALL = 2, /* cacheHttpAllSvcTime */ | |
163 | PERF_MEDIAN_HTTP_MISS = 3, /* cacheHttpMissSvcTime */ | |
164 | PERF_MEDIAN_HTTP_NM = 4, /* cacheHttpNmSvcTime */ | |
165 | PERF_MEDIAN_HTTP_HIT = 5, /* cacheHttpHitSvcTime */ | |
166 | PERF_MEDIAN_ICP_QUERY = 6, /* cacheIcpQuerySvcTime */ | |
167 | PERF_MEDIAN_ICP_REPLY = 7, /* cacheIcpReplySvcTime */ | |
168 | PERF_MEDIAN_DNS = 8, /* cacheDnsSvcTime */ | |
169 | PERF_MEDIAN_RHR = 9, /* cacheRequestHitRatio */ | |
170 | PERF_MEDIAN_BHR = 10, /* cacheRequestByteRatio */ | |
171 | PERF_MEDIAN_HTTP_NH = 11, /* cacheHttpNhSvcTime */ | |
cc192b50 | 172 | PERF_MEDIAN_END |
d82d8654 | 173 | }; |
174 | ||
c5dd4956 | 175 | /* |
cc192b50 | 176 | * cacheNetwork group { squid 4 } |
eba4a24f | 177 | */ |
b6a2f15e | 178 | enum { |
c5753707 AJ |
179 | NET_START = 0, |
180 | NET_IP_CACHE = 1, /* cacheIpCache */ | |
181 | NET_FQDN_CACHE = 2, /* cacheFqdnCache */ | |
182 | NET_DNS_CACHE = 3, /* cacheDns */ | |
b6a2f15e | 183 | NET_END |
184 | }; | |
185 | ||
cc192b50 | 186 | /* cacheIpCache */ |
d60c11be | 187 | enum { |
c5753707 AJ |
188 | IP_START = 0, |
189 | IP_ENT = 1, /* cacheIpEntrie */ | |
190 | IP_REQ = 2, /* cacheIpRequests */ | |
191 | IP_HITS = 3, /* acheIpHits */ | |
192 | IP_PENDHIT = 4, /* cacheIpPendingHits */ | |
193 | IP_NEGHIT = 5, /* cacheIpNegativeHit */ | |
194 | IP_MISS = 6, /* cacheIpMisses */ | |
195 | IP_GHBN = 7, /* cacheBlockingGetHostByName */ | |
196 | IP_LOC = 8, /* cacheAttemptReleaseLckEntries */ | |
85ee654a | 197 | IP_END |
d60c11be | 198 | }; |
199 | ||
cc192b50 | 200 | /* cacheFqdnCache */ |
d60c11be | 201 | enum { |
c5753707 AJ |
202 | FQDN_START = 0, |
203 | FQDN_ENT = 1, /* cacheFqdnEntries */ | |
204 | FQDN_REQ = 2, /* cacheFqdnRequests */ | |
205 | FQDN_HITS = 3, /* cacheFqdnHits */ | |
206 | FQDN_PENDHIT = 4, /* cacheFqdnPendingHits */ | |
207 | FQDN_NEGHIT = 5, /* cacheFqdnNegativeHits */ | |
208 | FQDN_MISS = 6, /* cacheFqdnMisses */ | |
209 | FQDN_GHBN = 7, /* cacheBlockingGetHostByAddr */ | |
85ee654a | 210 | FQDN_END |
d60c11be | 211 | }; |
212 | ||
cc192b50 | 213 | /* cacheDNS */ |
d60c11be | 214 | enum { |
c5753707 AJ |
215 | DNS_START = 0, |
216 | DNS_REQ = 1, /* cacheDnsRequests */ | |
217 | DNS_REP = 2, /* cacheDnsReplies */ | |
218 | DNS_SERVERS = 3, /* cacheDnsNumberServers */ | |
85ee654a | 219 | DNS_END |
d82d8654 | 220 | }; |
221 | ||
c5dd4956 | 222 | /* |
cc192b50 | 223 | * cacheMesh group { squid 5 } |
eba4a24f | 224 | */ |
d60c11be | 225 | |
43d4303e | 226 | enum { |
c5753707 AJ |
227 | MESH_START = 0, |
228 | MESH_PTBL = 1, /* cachePeerTable */ | |
229 | MESH_CTBL = 2, /* cacheClientTable */ | |
cc192b50 | 230 | MESH_END |
d60c11be | 231 | }; |
232 | ||
d1b15c26 | 233 | /* CachePeerEntry (version 3) */ |
c5dd4956 | 234 | enum { |
c5753707 AJ |
235 | MESH_PTBL_START = 0, |
236 | MESH_PTBL_INDEX = 1, /* cachePeerIndex */ | |
237 | MESH_PTBL_NAME = 2, /* cachePeerName */ | |
238 | MESH_PTBL_ADDR_TYPE = 3, /* cachePeerAddressType */ | |
239 | MESH_PTBL_ADDR = 4, /* cachePeerAddress */ | |
240 | MESH_PTBL_HTTP = 5, /* cachePortHttp */ | |
241 | MESH_PTBL_ICP = 6, /* cachePeerPortIcp */ | |
242 | MESH_PTBL_TYPE = 7, /* cachePeerType */ | |
243 | MESH_PTBL_STATE = 8, /* cachePeerStat */ | |
244 | MESH_PTBL_SENT = 9, /* cachePeerPingsSent */ | |
245 | MESH_PTBL_PACKED = 10, /* cachePeerPingsAcked */ | |
246 | MESH_PTBL_FETCHES = 11, /* cachePeerFetches */ | |
247 | MESH_PTBL_RTT = 12, /* cachePeerRtt */ | |
248 | MESH_PTBL_IGN = 13, /* cachePeerIgnored */ | |
249 | MESH_PTBL_KEEPAL_S = 14, /* cachePeerKeepAlSent */ | |
250 | MESH_PTBL_KEEPAL_R = 15, /* cachePeerKeepAlRecv */ | |
cc192b50 | 251 | MESH_PTBL_END |
d60c11be | 252 | }; |
253 | ||
cc192b50 | 254 | /* cacheClientEntry */ |
c5dd4956 | 255 | enum { |
c5753707 AJ |
256 | MESH_CTBL_START = 0, |
257 | MESH_CTBL_ADDR_TYPE = 1, /* cacheClientAddressType */ | |
258 | MESH_CTBL_ADDR = 2, /* cacheClientAddress */ | |
259 | MESH_CTBL_HTREQ = 3, /* cacheClientHttpRequests */ | |
260 | MESH_CTBL_HTBYTES = 4, /* cacheClientHttpKb */ | |
261 | MESH_CTBL_HTHITS = 5, /* cacheClientHttpHits */ | |
262 | MESH_CTBL_HTHITBYTES = 6, /* cacheClientHTTPHitKb */ | |
263 | MESH_CTBL_ICPREQ = 7, /* cacheClientIcpRequests */ | |
264 | MESH_CTBL_ICPBYTES = 8, /* cacheClientIcpKb */ | |
265 | MESH_CTBL_ICPHITS = 9, /* cacheClientIcpHits */ | |
266 | MESH_CTBL_ICPHITBYTES = 10, /* cacheClientIcpHitKb */ | |
cc192b50 | 267 | MESH_CTBL_END |
d60c11be | 268 | }; |
269 | ||
b5638623 | 270 | #endif /* SQUID_SNMP */ |
271 | ||
f13f02e9 | 272 | #endif /* SQUID_CACHE_SNMP_H */ |
f53969cc | 273 |