Sn0rt opened a new issue, #9419:
URL: https://github.com/apache/apisix/issues/9419
### Current Behavior
can't get the log from Syslog server.
### Expected Behavior
if the router has been triggered, the syslog plugin with send the log to
the syslog server.
now find nothing.
### Error Logs
vector:
```
2023-05-06T07:14:20.986659Z ERROR source{component_kind="source"
component_id=log-from-syslog-tcp component_type=syslog
component_name=log-from-syslog-tcp}:connection{peer_addr=192.168.80.1:48692}:
vector::internal_events::codecs: Internal log [Failed deserializing frame.] has
been rate limited 1 times.
2023-05-06T07:14:20.986887Z ERROR source{component_kind="source"
component_id=log-from-syslog-tcp component_type=syslog
component_name=log-from-syslog-tcp}:connection{peer_addr=192.168.80.1:48692}:
vector::internal_events::codecs: Failed deserializing frame. error=unable to
parse input as valid syslog message error_type="parser_failed"
stage="processing" internal_log_rate_limit=true
```
rsyslog @ ubuntu (empty log info)
### Steps to Reproduce
set a router for test syslog plugin
```bash
curl -s http://127.0.0.1:9180/apisix/admin/routes/1 -H 'X-API-KEY:
edd1c9f034335f136f87ad84b625c8f1' -X PUT -d
@/Users/guohao/workspace/router/syslog.json | jq
{
"key": "/apisix/routes/1",
"value": {
"plugins": {
"syslog": {
"timeout": 3000,
"port": 5050,
"name": "sys logger",
"host": "127.0.0.1",
"pool_size": 5,
"sock_type": "tcp",
"retry_delay": 1,
"buffer_duration": 60,
"inactive_timeout": 5,
"include_req_body": false,
"tls": false,
"drop_limit": 1048576,
"batch_max_size": 1000,
"flush_limit": 1,
"max_retry_count": 0
}
},
"update_time": 1683357026,
"upstream": {
"pass_host": "pass",
"nodes": {
"httpbin.org": 1
},
"hash_on": "vars",
"type": "roundrobin",
"scheme": "http"
},
"status": 1,
"id": "1",
"uri": "/get",
"priority": 0,
"create_time": 1683354859
}
}
```
test the logger server. at this phase the vector provide the syslog service.
```bash
$ logger -T -n 127.0.0.1 -P 5050 -p local0.info "Hello, World! TCP"
## check the log, the vector successfully.
{"appname":"guohao","facility":"local0","host":"m2","hostname":"m2","message":"Hello,
World!
TCP","severity":"info","source_ip":"192.168.80.1","source_type":"syslog","timeQuality":{"isSynced":"1","syncAccuracy":"108666","tzKnown":"1"},"timestamp":"2023-05-06T07:10:56.603303Z","version":1}
```
send a request for trigged the router
```bash
curl -X GET "http://127.0.0.1:9080/get?username=test" -H "accept:
application/json"
{
"args": {
"username": "test"
},
"headers": {
"Accept": "application/json",
"Host": "127.0.0.1",
"User-Agent": "curl/8.0.1",
"X-Amzn-Trace-Id": "Root=1-6455fdbc-6327f1597d06515842891843",
"X-Forwarded-Host": "127.0.0.1"
},
"origin": "127.0.0.1, 125.94.193.83",
"url": "http://127.0.0.1/get?username=test"
}
```
check it access log for verify
```bash
$ tail -f logs/access.log
...
127.0.0.1 - - [06/May/2023:15:12:27 +0800] 127.0.0.1:9080 "GET
/get?username=test HTTP/1.1" 200 351 0.799 "-" "curl/8.0.1" 34.235.32.249:80
200 0.799 "http://127.0.0.1:9080"
127.0.0.1 - - [06/May/2023:15:12:35 +0800] 127.0.0.1:9080 "GET
/get?username=test HTTP/1.1" 200 351 0.831 "-" "curl/8.0.1" 3.230.204.70:80 200
0.832 "http://127.0.0.1:9080"
```
check the vector log and find nothing
```bash
{"appname":"guohao","facility":"local0","host":"m2","hostname":"m2","message":"Hello,
World!
TCP","severity":"info","source_ip":"192.168.80.1","source_type":"syslog","timeQuality":{"isSynced":"1","syncAccuracy":"108666","tzKnown":"1"},"timestamp":"2023-05-06T07:10:56.603303Z","version":1}
2023-05-06T07:14:20.986659Z ERROR source{component_kind="source"
component_id=log-from-syslog-tcp component_type=syslog
component_name=log-from-syslog-tcp}:connection{peer_addr=192.168.80.1:48692}:
vector::internal_events::codecs: Internal log [Failed deserializing frame.] has
been rate limited 1 times.
2023-05-06T07:14:20.986887Z ERROR source{component_kind="source"
component_id=log-from-syslog-tcp component_type=syslog
component_name=log-from-syslog-tcp}:connection{peer_addr=192.168.80.1:48692}:
vector::internal_events::codecs: Failed deserializing frame. error=unable to
parse input as valid syslog message error_type="parser_failed"
stage="processing" internal_log_rate_limit=true
```
# try another syslog server
install rsyslog@ubuntu server
```bash
$ logger -T -n 192.168.31.224 -P 514 -p local0.info "Hello, World! TCP"
$ tail -f /var/log/syslog
...
May 6 15:58:26 m2 guohao Hello, World! TCP
```
update the configure of router
```bash
curl -s http://127.0.0.1:9180/apisix/admin/routes/1 -H 'X-API-KEY:
edd1c9f034335f136f87ad84b625c8f1' -X PUT -d
@/Users/guohao/workspace/router/syslog.json | jq
{
"key": "/apisix/routes/1",
"value": {
"create_time": 1683354859,
"priority": 0,
"id": "1",
"update_time": 1683359830,
"upstream": {
"type": "roundrobin",
"pass_host": "pass",
"nodes": {
"httpbin.org": 1
},
"scheme": "http",
"hash_on": "vars"
},
"status": 1,
"uri": "/get",
"plugins": {
"syslog": {
"tls": false,
"timeout": 3000,
"inactive_timeout": 5,
"batch_max_size": 1000,
"sock_type": "tcp",
"retry_delay": 1,
"buffer_duration": 60,
"host": "192.168.31.224",
"max_retry_count": 0,
"drop_limit": 1048576,
"port": 514,
"flush_limit": 1,
"pool_size": 5,
"include_req_body": false,
"name": "sys logger"
}
}
}
}
```
```bash
$ curl -X GET "http://127.0.0.1:9080/get?username=test" -H "accept:
application/json"
{
"args": {
"username": "test"
},
"headers": {
"Accept": "application/json",
"Host": "127.0.0.1",
"User-Agent": "curl/8.0.1",
"X-Amzn-Trace-Id": "Root=1-645608e8-54da96a64fbf14fe72e41fa4",
"X-Forwarded-Host": "127.0.0.1"
},
"origin": "127.0.0.1, 125.94.193.83",
"url": "http://127.0.0.1/get?username=test"
}
```
find nothing at rsyslog
### Environment
- APISIX version (run `apisix version`): master
- Operating system (run `uname -a`):
- OpenResty / Nginx version (run `openresty -V` or `nginx -V`):
- etcd version, if relevant (run `curl
http://127.0.0.1:9090/v1/server_info`):
- APISIX Dashboard version, if relevant:
- Plugin runner version, for issues related to plugin runners:
- LuaRocks version, for installation issues (run `luarocks --version`):
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]