netdataツール(オペレーティングシステムパフォーマンスツール)をインストールします。
netdataのインストールが失敗したことが確認されました。
curl -sSL --connect-timeout 10 --retry 3 http://localhost:19999/netdata.conf
そして:
ポート19999がブロックされたり、アクセス可能な場合があることを確認しました。
example when we have access
telnet localhost 19999
Trying ::1...
Connected to localhost.
Escape character is '^]'.
CConnection closed by foreign host.
時々ポートが詰まることがあります。
Trying ::1...
telnet: connect to address ::1: Connection refused
Trying 127.0.0.1...
telnet: connect to address 127.0.0.1: Connection refused
この非常に奇妙な行動の理由は何ですか?
注 – iptables と同様に、ファイアウォールは無効になって停止します。
ベストアンサー1
最初のケース
$ telnet localhost 19999
Trying ::1...
Connected to localhost.
Escape character is '^]'.
Connection closed by foreign host.
特定のポートをリッスンするプロセスがあります。そのポートに接続すると、最終的にリモート側で接続を終了します。
2番目のケース(ここでは明示的に指定していないので、同じポートを指定したとします):
$ telnet localhost 19999
Trying ::1...
telnet: connect to address ::1: Connection refused
Trying 127.0.0.1...
telnet: connect to address 127.0.0.1: Connection refused
これはConnection refused
、指定されたホスト/ポートを受信するプロセスがないことを意味します。ホスト名を使用し、localhost
そのホスト名がIPv4アドレスとIPv6アドレスの両方にマップされるので、両方のアドレスtelnet
に接続してみてください。最後に、指定されたポートで(IPv4またはIPv6を介して)ホストをリッスンするプロセスはありません。
ss
以下を使用して、どのプロセスがどのポートでリッスンしているかを一覧表示できます。
# ss -nlpt
State Recv-Q Send-Q Local Address:Port Peer Address:Port
LISTEN 0 0 <address>:<port> 0.0.0.0:* users:(("<process-name>",pid=<process-id>,fd=<file-descriptor>))
オプション:
-n
アドレスをホスト名に変換しないでください-l
リスニングソケットのみが一覧表示されます。-t
TCPソケットのみリスト-p
関連するプロセス情報をリストします。これにはルートアクセスが必要です。
これにより、プロセスが予想されるポートでリッスンしていることを確認できます。