<p>Problem solved, I think: the agent comes with its own <code>libcurl.so.3</code> in <code>/opt/oms/lib</code>, it doesn't use the system one at all. Once I replaced that, it seems to be succeeding. Previously:</p>

<pre><code>$ cd /opt/microsoft/omsconfig/Scripts
$ ./PerformRequiredConfigurationChecks.py
instance of OMI_Error
{
    OwningEntity=OMI:CIMOM
    MessageID=OMI:MI_Result:1
    Message=cURL failed to perform on this base url: uks-agentservice-prod-1.azure-automation.net with this error message: Stream error in the HTTP/2 framing layer. Make sure cURL and SSL libraries are up to date.
    MessageArguments={}
    PerceivedSeverity=7
    ProbableCause=0
    ProbableCauseDescription=Unknown
    CIMStatusCode=1
    OMI_Code=1
    OMI_Category=0
    OMI_Type=MI
    OMI_ErrorMessage=A general error occurred, not covered by a more specific error code.
}
</code></pre>

<p>But now:</p>

<pre><code>$ ./PerformRequiredConfigurationChecks.py
instance of PerformRequiredConfigurationChecks
{
    ReturnValue=0
}
</code></pre>

CC BY-SA 4.0
2019-07-07T10:00:18.290Z
2019-07-07T10:05:23.810Z
2019-07-07T10:05:23.810Z
Gaius
<p>Has anyone successfully gotten the Azure Security Center agent to work with Ubuntu 19? My <code>omsconfig.log</code> is full of messages like</p>

<pre><code>This event indicates that failure happens when LCM is trying to get the configuration from pull server using download manager null. ErrorId is 1. ErrorDetail is cURL failed to perform on this base url: uks-agentservice-prod-1.azure-automation.net with this error message: Stream error in the HTTP/2 framing layer. Make sure cURL and SSL libraries are up to date.
</code></pre>

<p>I am convinced that they are up to date</p>

<pre><code># openssl version
OpenSSL 1.1.1b  26 Feb 2019
# curl --version
curl 7.64.0 (x86_64-pc-linux-gnu) libcurl/7.64.0 OpenSSL/1.1.1b zlib/1.2.11 libidn2/2.0.5 libpsl/0.20.2 (+libidn2/2.0.5) libssh/0.8.6/openssl/zlib nghttp2/1.36.0 librtmp/2.3
Release-Date: 2019-02-06
Protocols: dict file ftp ftps gopher http https imap imaps ldap ldaps pop3 pop3s rtmp rtsp scp sftp smb smbs smtp smtps telnet tftp 
Features: AsynchDNS IDN IPv6 Largefile GSS-API Kerberos SPNEGO NTLM NTLM_WB SSL libz TLS-SRP HTTP2 UnixSockets HTTPS-proxy PSL
</code></pre>

<p>In <code>omsadmin.sh</code> I see</p>

<pre><code>#This is a temporary fix for Systems with Curl versions using HTTP\2 as default
    #Since 7.47.0, the curl tool enables HTTP/2 by default for HTTPS connections. This fix runs curl with --http1.1 on systems with version above 7.47.0
    #Curl http2 Docs Link: https://curl.haxx.se/docs/http2.html
    CURL_VERSION_WITH_DEFAULT_HTTP2="7470"
    CURL_VERSION_SYSTEM=`curl --version | head -c11 | awk '{print $2}' | tr --delete .`
    if [ $CURL_VERSION_SYSTEM -gt $CURL_VERSION_WITH_DEFAULT_HTTP2 ]; then
      CURL_HTTP_COMMAND="--http1.1"
    fi
</code></pre>

<p>But this doesn't seem to be honoured by <code>OMSConsistencyInvoker</code> which is a binary file. The above error in the <code>omsconfig.log</code> coincides every 15 minutes with that command being invoked from <code>cron</code>. </p>

CC BY-SA 4.0
2019-10-14T11:16:15.870Z
Can you please share what exactly you've done with it? In my case it point s to:
:~# ls -la /opt/omi/lib/libcurl.so.3
lrwxrwxrwx 1 root root 34 Oct 13 21:37 /opt/omi/lib/libcurl.so.3 -> /lib/x86_64-linux-gnu/libcurl.so.4 Thanks.
user3094610
CC BY-SA 4.0
2019-10-14T16:24:18.200Z
That seems reasonable. If you post a new question with what you’ve done and what output you get I’ll try to take a look.
Gaius
<linux><azure><security>
Azure Security Center with Ubuntu 19
Gaius
# Azure Security Center with Ubuntu 19

(Asked by: username_0 on 2019-07-06)

Has anyone successfully gotten the Azure Security Center agent to work with Ubuntu 19? My omsconfig.log is full of messages like
This event indicates that failure happens when LCM is trying to get the configuration from pull server using download manager null. ErrorId is 1. ErrorDetail is cURL failed to perform on this base url: uks-agentservice-prod-1.azure-automation.net with this error message: Stream error in the HTTP/2 framing layer. Make sure cURL and SSL libraries are up to date.

I am convinced that they are up to date
# openssl version
OpenSSL 1.1.1b  26 Feb 2019
# curl --version
curl 7.64.0 (x86_64-pc-linux-gnu) libcurl/7.64.0 OpenSSL/1.1.1b zlib/1.2.11 libidn2/2.0.5 libpsl/0.20.2 (+libidn2/2.0.5) libssh/0.8.6/openssl/zlib nghttp2/1.36.0 librtmp/2.3
Release-Date: 2019-02-06
Protocols: dict file ftp ftps gopher http https imap imaps ldap ldaps pop3 pop3s rtmp rtsp scp sftp smb smbs smtp smtps telnet tftp 
Features: AsynchDNS IDN IPv6 Largefile GSS-API Kerberos SPNEGO NTLM NTLM_WB SSL libz TLS-SRP HTTP2 UnixSockets HTTPS-proxy PSL

In omsadmin.sh I see
#This is a temporary fix for Systems with Curl versions using HTTP\2 as default
    #Since 7.47.0, the curl tool enables HTTP/2 by default for HTTPS connections. This fix runs curl with --http1.1 on systems with version above 7.47.0
    #Curl http2 Docs Link: https://curl.haxx.se/docs/http2.html
    CURL_VERSION_WITH_DEFAULT_HTTP2="7470"
    CURL_VERSION_SYSTEM=`curl --version | head -c11 | awk '{print $2}' | tr --delete .`
    if [ $CURL_VERSION_SYSTEM -gt $CURL_VERSION_WITH_DEFAULT_HTTP2 ]; then
      CURL_HTTP_COMMAND="--http1.1"
    fi

But this doesn't seem to be honoured by OMSConsistencyInvoker which is a binary file. The above error in the omsconfig.log coincides every 15 minutes with that command being invoked from cron.

**Tags:** linux, azure, security

> **Comments:**
> **username_1**: Can you please share what exactly you've done with it? In my case it point s to: :~# ls -la /opt/omi/lib/libcurl.so.3 lrwxrwxrwx 1 root root 34 Oct 13 21:37 /opt/omi/lib/libcurl.so.3 -> /lib/x86_64-linux-gnu/libcurl.so.4 Thanks.  
> **username_0**: That seems reasonable. If you post a new question with what you’ve done and what output you get I’ll try to take a look.  

---

## 1 answers

### Answer by username_0 on 2019-07-07. Score: 2 | Accepted answer

Problem solved, I think: the agent comes with its own libcurl.so.3 in /opt/oms/lib, it doesn't use the system one at all. Once I replaced that, it seems to be succeeding. Previously:
$ cd /opt/microsoft/omsconfig/Scripts
$ ./PerformRequiredConfigurationChecks.py
instance of OMI_Error
{
    OwningEntity=OMI:CIMOM
    MessageID=OMI:MI_Result:1
    Message=cURL failed to perform on this base url: uks-agentservice-prod-1.azure-automation.net with this error message: Stream error in the HTTP/2 framing layer. Make sure cURL and SSL libraries are up to date.
    MessageArguments={}
    PerceivedSeverity=7
    ProbableCause=0
    ProbableCauseDescription=Unknown
    CIMStatusCode=1
    OMI_Code=1
    OMI_Category=0
    OMI_Type=MI
    OMI_ErrorMessage=A general error occurred, not covered by a more specific error code.
}

But now:
$ ./PerformRequiredConfigurationChecks.py
instance of PerformRequiredConfigurationChecks
{
    ReturnValue=0
}


---

