Empty output from agent TCP port 6556

Hi,

I’m getting this error in one host
The checkmk agent service is Critical saying
CRIT - [agent] Empty output from agent at TCP port 6556 CRIT, Got no information from host

The thing is that it suddenly stopped working a while ago. Since the checkmk server is at our place and an ipsec tunnel is setup to the agent server at the customer, I asked network people and everything is open as it was before and port 6556 is also open on the agent server.
I can run telnet on port 6556 and it connects.
The resources/services that were before are green although the checkmk agent service is red.

This host is part of a windows failover cluster. The strange thing is that the second node in the same cluster doesn’t have this problem. Both are in the same subnet.

Any clues how I can troubleshoot this or what might be the problem?

I have checkmk Raw 1.6.0p19

ricardo

Telnet from cmk-server connects and you recieve system informations?
Connection alone doesn t mean that everything is fine.
Ralf

1 Like

Hi

  • Does the check_mk_agent command itself show the correct output if run on the affected System ?

  • Is another Process listening on 6556 instead of the checkmk Agent ?
    (as telnet is working, the port seems to be open)

Kind Regards

You will get this error message if there is no agent behind port 6556.
Check if the active port has a process matchted or if it is stale (bugged out).

Another Problem could be, that the port is still open, but someone moved the “check_mk_agent.exe” file.
So it seems like everything is running, but the agent itself is missing.

Just check everything Agent-related to see, where the problem ist, but if i need to bet, i would bet on the missing agent file.

Hi,

It’s only the checkmk agent on that port. And the connections are coming from the checkmk server.

When I run “check_mk_agent.exe test” I get no errors as far as I can understand it.

What’s your only_from setting in your agent contiguration file ?
Usualy empty output means that your slave is not on that list (only_from).

Cheers,

Hi,

The agent is running and it’s listening on that port. When I stop the agent all connections to port 6556 are gone.

I tried another thing.
I have to plugins on this host. The mk_logwatch and the oracle plugin.
I removed them, and now I don’t get the the error anymore.

It seems that it is related to the oracle plugin.

Thanks for all your valuable help and involvement.

only_from is: ~

But this setting is the same for all the agents I have in that subnet and that customer. And it is not showing the error I get.

what do you mean ?
if you remove the plugins

  • You see all other services now clean in the checkmk ?

If you run the check on the system itself, can you see the output of the Oracle_plugin in the agent output ?

What if you run the Oracle plugin directly ?

yes, that’s right. I see all the services that comes default with the agent.

When I run the check the oracle plugin sections also show but in the output it’s complaining in some of the sections of the oracle plugin that is the wrong format or some wrong characters.

This is one section that shows error.
The <<<< oracle_jobs>>>>> part is showing in the middle of the row instead of showing in the beginning of the row.

<<<oracle_jobs:sep(124)>>> ||’|’|| j.OWNER * ERROR at line 8: ORA-06550: line 8, column 34: PLS-00103: Encountered the symbol “|” when expecting one of the following: * & = - + ; < / > at in is mod remainder not rem return returning <an exponent (**)> <> or != or ~= >= <= <> and or like like2 like4 likec between into using || multiset bulk member submultiset

How do I run the oracle plugin directly? Do I just run the Powershell script mk_oracle.ps1?

Anyhow, I have installed a newer agent and will try to add the newer plugin that comes with that agent and see if the problem is still there. If it turns out that the oracle plugin is causing the issue, I can then post a question here but under a different thread.

Hi @ricardof and welcome to the community,

if i read correctly you are on windows. It’s maybe a problem with the rights of the User which is running the service on your client. If you check the agent via check_mk_agent.exe test your are using your permissions and not the one of the service user.
You can check the agent also locally if you just telnet against localhost, if this doesn’t work it’s most likely the permission problem.

Yes, windows. Sorry if I forgot to mention that.

telnet to localhost and port 6556 works fine.
The checkmk service is running as local system so the permissions shouldn’t be a problem.
And the agent and plugins work well with the same setup on other servers for that customer.

windows firewall issue. Please try to add explicit rule to allow 6556 port traffic. I had such issue, and on windows connection is not rejected, but just empty output. And as mentioned above - check only_from section of agent config.

As far as i understood, it works, as long as the Oracle Plugin is not there, so Firewall or access in general should not be the issue.

I would suggest to try it with a different version of the oracle script (the one from p20)
or maybe its an issue with an unset Variable (or an Empty one).

run the oracle Plugin directly (dont forget to set the environment) will maybe help

Hi,

I have upgraded the checkmk server and agent to v 2.0 and it seems that everything works fine now.
Including the oracle plugin and the resources it finds.

So probably there was some garbage that entered the code of the plugin or something else.

Thanks everyone for helping out. Highly appreciated.

Best regards
ricardo

I ran into the same issue after upgrading from 1.6 to 2.0. With the new agent I got the empty output from the agent but check_mk_agent.exe test was running with no problems. I tried to change the “only from” section in the file C:\Program Files\checkmk\service\check_mk.yml. Then I found out that the config file that I need to change is C:\ProgramData\checkmk\agent\check_mk.user.yml. Then everything was working as expected. Just to mention it - the C:\ProgramData Folder is hidden by default…

Thanks KarlKlammer

I solved it by uninstalling the agent and removing all checkmk directories. Then everything worked again.

But good to know that that file also holds information.

/ricardo

This topic was automatically closed 365 days after the last reply. New replies are no longer allowed. Contact an admin if you think this should be re-opened.