Hi, 

I have already used varnish agent on a server with version 4, now I'm trying to let it work on varnish version 6.4.

observium_agent is responding, but the result of varnish agent is empty :

<<<app-varnish>>>
;;;;;;;;;;;;;


instead of:

<<<app-varnish>>>
212916238;0;0;1393;0;;0;0;393297;1216912816;160350799;0;657384598;

like I have on the old one.

If I lunch perl varnish I don't get any particular error, maybe the agent must be updated to work with new versions?

I see varnish perl script is using varnishstat -x , and the results are somehow different from the old varnish version:

VARNISH 6.4:

<?xml version="1.0"?>
<varnishstat timestamp="2020-07-01T15:38:00">
        <stat>
                <name>MGT.uptime</name>
                <value>60710</value>
                <flag>c</flag>
                <format>d</format>
                <description>Management process uptime</description>
        </stat>
        <stat>
                <name>MGT.child_start</name>
                <value>1</value>
                <flag>c</flag>
                <format>i</format>
                <description>Child process started</description>
        </stat>
        <stat>
                <name>MGT.child_exit</name>
                <value>0</value>
                <flag>c</flag>
                <format>i</format>
                <description>Child process normal exit</description>
        </stat>
        <stat>
                <name>MGT.child_stop</name>
                <value>0</value>
                <flag>c</flag>
                <format>i</format>
                <description>Child process unexpected exit</description>
        </stat>
        <stat>
                <name>MGT.child_died</name>
                <value>0</value>
                <flag>c</flag>
                <format>i</format>
                <description>Child process died (signal)</description>
        </stat>

VARNISH 4

<?xml version="1.0"?>
<varnishstat timestamp="2020-07-01T15:37:43">
<stat>
<type>MAIN</type>
<name>uptime</name>
<value>13848724</value>
<flag>c</flag>
<format>d</format>
<description>Child process uptime</description>
</stat>
<stat>
<type>MAIN</type>
<name>sess_conn</name>
<value>250458042</value>
<flag>c</flag>
<format>i</format>
<description>Sessions accepted</description>
</stat>
<stat>
<type>MAIN</type>
<name>sess_drop</name>
<value>0</value>
<flag>c</flag>
<format>i</format>
<description>Sessions dropped</description>
</stat>
<stat>
<type>MAIN</type>
<name>sess_fail</name>
<value>0</value>
<flag>c</flag>
<format>i</format>
<description>Session accept failures</description>
</stat>
<stat>
<type>MAIN</type>
<name>client_req_400</name>
<value>1236</value>
<flag>c</flag>
<format>i</format>
<description>Client requests received, subject to 400 errors</description>
</stat>

I tried to change the code, because as you can see the parameters are similar but the name now have a prefix like MGT, but mostly "MAIN." for the parameters we are trying to get . 
I'm no perl esxpert I tried simply to add MAIN. but it still isn't working...

Any ideas?

Best regards,

Simone