<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Falco – Falco Outputs</title><link>https://v0-43--falcosecurity.netlify.app/docs/concepts/outputs/</link><description>Recent content in Falco Outputs on Falco</description><generator>Hugo -- gohugo.io</generator><language>en</language><atom:link href="https://v0-43--falcosecurity.netlify.app/docs/concepts/outputs/feed.xml" rel="self" type="application/rss+xml"/><item><title>Docs: Output Channels</title><link>https://v0-43--falcosecurity.netlify.app/docs/concepts/outputs/channels/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://v0-43--falcosecurity.netlify.app/docs/concepts/outputs/channels/</guid><description>
&lt;h2 id="standard-output"&gt;Standard Output&lt;/h2&gt;
&lt;p&gt;When configured to send alerts via standard output, a line is printed for each alert.&lt;/p&gt;
&lt;p&gt;Here is an example:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"&gt;&lt;code class="language-yaml" data-lang="yaml"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#008000;font-weight:bold"&gt;stdout_output&lt;/span&gt;:&lt;span style="color:#bbb"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#bbb"&gt; &lt;/span&gt;&lt;span style="color:#008000;font-weight:bold"&gt;enabled&lt;/span&gt;:&lt;span style="color:#bbb"&gt; &lt;/span&gt;&lt;span style="color:#a2f;font-weight:bold"&gt;true&lt;/span&gt;&lt;span style="color:#bbb"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;pre tabindex="0"&gt;&lt;code&gt;10:20:05.408091526: Warning Sensitive file opened for reading by non-trusted program (user=root command=cat /etc/shadow file=/etc/shadow)
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;Standard output is useful when using &lt;a href="https://www.fluentd.org/"&gt;Fluentd&lt;/a&gt; or &lt;a href="https://www.elastic.co/logstash/"&gt;Logstash&lt;/a&gt; to capture logs from containers. Alerts can then be stored in &lt;a href="https://www.elastic.co/elasticsearch/"&gt;Elasticsearch&lt;/a&gt;, and dashboards can be created to visualize the alerts. For more information, read &lt;a href="https://sysdig.com/blog/kubernetes-security-logging-fluentd-falco/"&gt;this blog post&lt;/a&gt;.&lt;/p&gt;
&lt;h3 id="standard-output-buffering"&gt;Standard Output buffering&lt;/h3&gt;
&lt;p&gt;If the logs are inspected by tailing container logs (e.g. &lt;code&gt;kubectl logs -f&lt;/code&gt; in Kubernetes) it might look like events can take a long time to appear, sometimes longer than 15 minutes. This is not an issue with Falco but is simply a side effect of the system output buffering.&lt;/p&gt;
&lt;p&gt;However, if realtime update of these logs is necessary it can be forced
with the &lt;code&gt;-U/--unbuffered&lt;/code&gt; command line option which will ensure the output is flushed for every event at the cost of higher CPU usage.&lt;/p&gt;
&lt;h2 id="file-output"&gt;File Output&lt;/h2&gt;
&lt;p&gt;When configured to send alerts to a file, a message is written to the file for each alert. The configuration is very similar to the &lt;a href="https://v0-43--falcosecurity.netlify.app/docs/outputs/channels/#standard-output"&gt;Standard Output&lt;/a&gt; format:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"&gt;&lt;code class="language-yaml" data-lang="yaml"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#008000;font-weight:bold"&gt;file_output&lt;/span&gt;:&lt;span style="color:#bbb"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#bbb"&gt; &lt;/span&gt;&lt;span style="color:#008000;font-weight:bold"&gt;enabled&lt;/span&gt;:&lt;span style="color:#bbb"&gt; &lt;/span&gt;&lt;span style="color:#a2f;font-weight:bold"&gt;true&lt;/span&gt;&lt;span style="color:#bbb"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#bbb"&gt; &lt;/span&gt;&lt;span style="color:#008000;font-weight:bold"&gt;keep_alive&lt;/span&gt;:&lt;span style="color:#bbb"&gt; &lt;/span&gt;&lt;span style="color:#a2f;font-weight:bold"&gt;false&lt;/span&gt;&lt;span style="color:#bbb"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#bbb"&gt; &lt;/span&gt;&lt;span style="color:#008000;font-weight:bold"&gt;filename&lt;/span&gt;:&lt;span style="color:#bbb"&gt; &lt;/span&gt;./events.txt&lt;span style="color:#bbb"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;When the field &lt;code&gt;keep_alive&lt;/code&gt; is set to &lt;code&gt;false&lt;/code&gt; (default value), for each single alert:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;the file is opened for appending&lt;/li&gt;
&lt;li&gt;the single alert is written&lt;/li&gt;
&lt;li&gt;the file is closed&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;If &lt;code&gt;keep_alive&lt;/code&gt; is set to &lt;code&gt;true&lt;/code&gt;, the file is opened before the first alert, and kept open for all subsequent alerts. Output is buffered and will be flushed only on close. (This can be changed with the &lt;code&gt;--unbuffered&lt;/code&gt; command line option).&lt;/p&gt;
&lt;p&gt;Notice that, regardless &lt;code&gt;keep_alive&lt;/code&gt; settings, Falco neither rotates nor truncates the output file.
If you'd like to use a program like &lt;a href="https://github.com/logrotate/logrotate"&gt;logrotate&lt;/a&gt; to rotate the output file, an example logrotate config is available &lt;a href="https://github.com/falcosecurity/falco/blob/ffd8747ec0943db2546c3270826e1700dc4df75f/examples/logrotate/falco"&gt;here&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;As of Falco &lt;code&gt;0.10.0&lt;/code&gt;, Falco will close and reopen its file output when signaled with &lt;code&gt;SIGUSR1&lt;/code&gt;. The logrotate example above depends on it.&lt;/p&gt;
&lt;h2 id="syslog-output"&gt;Syslog Output&lt;/h2&gt;
&lt;p&gt;When configured to send alerts to syslog, a syslog message is sent for each alert. The actual format depends on your syslog daemon, but here's a simple configuration example:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"&gt;&lt;code class="language-yaml" data-lang="yaml"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#008000;font-weight:bold"&gt;syslog_output&lt;/span&gt;:&lt;span style="color:#bbb"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#bbb"&gt; &lt;/span&gt;&lt;span style="color:#008000;font-weight:bold"&gt;enabled&lt;/span&gt;:&lt;span style="color:#bbb"&gt; &lt;/span&gt;&lt;span style="color:#a2f;font-weight:bold"&gt;true&lt;/span&gt;&lt;span style="color:#bbb"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;And its respective entry in the syslog service:&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;Jun 7 10:20:05 ubuntu falco: Sensitive file opened for reading by non-trusted program (user=root command=cat /etc/shadow file=/etc/shadow)
&lt;/code&gt;&lt;/pre&gt;
&lt;div class="alert alert-primary" role="alert"&gt;
Syslog messages are sent with a facility of &lt;strong&gt;&lt;code&gt;LOG_USER&lt;/code&gt;&lt;/strong&gt;.&lt;br&gt;
The rule's priority is used as the priority of the syslog message.
&lt;/div&gt;
&lt;h2 id="program-output"&gt;Program Output&lt;/h2&gt;
&lt;p&gt;When configured to send alerts to a program, Falco normally starts the program for each alert and writes its contents to the program's standard input. You can only configure a single program output (e.g. route alerts to a single program) at a time.&lt;/p&gt;
&lt;p&gt;Here you can find an example of how to configure the &lt;code&gt;program_output&lt;/code&gt; inside the &lt;code&gt;falco.yaml&lt;/code&gt; file:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"&gt;&lt;code class="language-yaml" data-lang="yaml"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#008000;font-weight:bold"&gt;program_output&lt;/span&gt;:&lt;span style="color:#bbb"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#bbb"&gt; &lt;/span&gt;&lt;span style="color:#008000;font-weight:bold"&gt;enabled&lt;/span&gt;:&lt;span style="color:#bbb"&gt; &lt;/span&gt;&lt;span style="color:#a2f;font-weight:bold"&gt;true&lt;/span&gt;&lt;span style="color:#bbb"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#bbb"&gt; &lt;/span&gt;&lt;span style="color:#008000;font-weight:bold"&gt;keep_alive&lt;/span&gt;:&lt;span style="color:#bbb"&gt; &lt;/span&gt;&lt;span style="color:#a2f;font-weight:bold"&gt;false&lt;/span&gt;&lt;span style="color:#bbb"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#bbb"&gt; &lt;/span&gt;&lt;span style="color:#008000;font-weight:bold"&gt;program&lt;/span&gt;:&lt;span style="color:#bbb"&gt; &lt;/span&gt;mail -s &amp;#34;Falco Notification&amp;#34; someone@example.com&lt;span style="color:#bbb"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;If the program cannot normally accept an input from standard input, &lt;code&gt;xargs&lt;/code&gt; can be used to pass the Falco events with an argument. For example:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"&gt;&lt;code class="language-yaml" data-lang="yaml"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#008000;font-weight:bold"&gt;program_output&lt;/span&gt;:&lt;span style="color:#bbb"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#bbb"&gt; &lt;/span&gt;&lt;span style="color:#008000;font-weight:bold"&gt;enabled&lt;/span&gt;:&lt;span style="color:#bbb"&gt; &lt;/span&gt;&lt;span style="color:#a2f;font-weight:bold"&gt;true&lt;/span&gt;&lt;span style="color:#bbb"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#bbb"&gt; &lt;/span&gt;&lt;span style="color:#008000;font-weight:bold"&gt;keep_alive&lt;/span&gt;:&lt;span style="color:#bbb"&gt; &lt;/span&gt;&lt;span style="color:#a2f;font-weight:bold"&gt;false&lt;/span&gt;&lt;span style="color:#bbb"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#bbb"&gt; &lt;/span&gt;&lt;span style="color:#008000;font-weight:bold"&gt;program&lt;/span&gt;:&lt;span style="color:#bbb"&gt; &lt;/span&gt;&lt;span style="color:#b44"&gt;&amp;#34;xargs -I {} aws --region ${region} sns publish --topic-arn ${falco_sns_arn} --message {}&amp;#34;&lt;/span&gt;&lt;span style="color:#bbb"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;When &lt;code&gt;keep_alive&lt;/code&gt; is set to &lt;code&gt;false&lt;/code&gt; (default value), for each alert Falco will run the program &lt;code&gt;mail -s ...&lt;/code&gt; and write the alert to the program. The program is run via a shell, so it's possible to specify a command pipeline if you wish to add additional formatting.&lt;/p&gt;
&lt;p&gt;If &lt;code&gt;keep_alive&lt;/code&gt; is set to &lt;code&gt;true&lt;/code&gt;, before the first alert Falco will spawn the program and write the alert. The program pipe will be kept open for subsequent alerts. Output is buffered and will be flushed only on close. (This can be changed with the &lt;code&gt;--unbuffered&lt;/code&gt; command line option).&lt;/p&gt;
&lt;div class="alert alert-primary" role="alert"&gt;
&lt;h4 class="alert-heading"&gt;Controlling the program output&lt;/h4&gt;
The program spawned by Falco is in the same process group as Falco and will receive all signals that Falco receives. If you want to, say, ignore &lt;code&gt;SIGTERM&lt;/code&gt; to allow for a clean shutdown in the face of buffered outputs, you must override the signal handler yourself.
&lt;br&gt;
As of Falco &lt;code&gt;0.10.0&lt;/code&gt;, Falco will close and reopen its file output when signaled with &lt;code&gt;SIGUSR1&lt;/code&gt;.
&lt;/div&gt;
&lt;h3 id="example-1-posting-to-a-slack-incoming-webhook"&gt;Example 1: Posting to a Slack Incoming Webhook&lt;/h3&gt;
&lt;p&gt;If you'd like to send Falco notifications to a slack channel, here's the required configuration to massage the JSON output to a form required for the slack webhook endpoint:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"&gt;&lt;code class="language-yaml" data-lang="yaml"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#080;font-style:italic"&gt;# Whether to output events in json or text&lt;/span&gt;&lt;span style="color:#bbb"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#008000;font-weight:bold"&gt;json_output&lt;/span&gt;:&lt;span style="color:#bbb"&gt; &lt;/span&gt;&lt;span style="color:#a2f;font-weight:bold"&gt;true&lt;/span&gt;&lt;span style="color:#bbb"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;…&lt;span style="color:#bbb"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#008000;font-weight:bold"&gt;program_output&lt;/span&gt;:&lt;span style="color:#bbb"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#bbb"&gt; &lt;/span&gt;&lt;span style="color:#008000;font-weight:bold"&gt;enabled&lt;/span&gt;:&lt;span style="color:#bbb"&gt; &lt;/span&gt;&lt;span style="color:#a2f;font-weight:bold"&gt;true&lt;/span&gt;&lt;span style="color:#bbb"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#bbb"&gt; &lt;/span&gt;&lt;span style="color:#008000;font-weight:bold"&gt;program&lt;/span&gt;:&lt;span style="color:#bbb"&gt; &lt;/span&gt;&lt;span style="color:#b44"&gt;&amp;#34;jq &amp;#39;{text: .output}&amp;#39; | curl -d @- -X POST https://hooks.slack.com/services/XXX&amp;#34;&lt;/span&gt;&lt;span style="color:#bbb"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id="example-2-sending-alerts-to-network-channel"&gt;Example 2: Sending Alerts to Network Channel&lt;/h3&gt;
&lt;p&gt;If you'd like to send a stream of alerts over a network connection, here's an example:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"&gt;&lt;code class="language-yaml" data-lang="yaml"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#080;font-style:italic"&gt;# Whether to output events in json or text&lt;/span&gt;&lt;span style="color:#bbb"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#008000;font-weight:bold"&gt;json_output&lt;/span&gt;:&lt;span style="color:#bbb"&gt; &lt;/span&gt;&lt;span style="color:#a2f;font-weight:bold"&gt;true&lt;/span&gt;&lt;span style="color:#bbb"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;…&lt;span style="color:#bbb"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#008000;font-weight:bold"&gt;program_output&lt;/span&gt;:&lt;span style="color:#bbb"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#bbb"&gt; &lt;/span&gt;&lt;span style="color:#008000;font-weight:bold"&gt;enabled&lt;/span&gt;:&lt;span style="color:#bbb"&gt; &lt;/span&gt;&lt;span style="color:#a2f;font-weight:bold"&gt;true&lt;/span&gt;&lt;span style="color:#bbb"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#bbb"&gt; &lt;/span&gt;&lt;span style="color:#008000;font-weight:bold"&gt;keep_alive&lt;/span&gt;:&lt;span style="color:#bbb"&gt; &lt;/span&gt;&lt;span style="color:#a2f;font-weight:bold"&gt;true&lt;/span&gt;&lt;span style="color:#bbb"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#bbb"&gt; &lt;/span&gt;&lt;span style="color:#008000;font-weight:bold"&gt;program&lt;/span&gt;:&lt;span style="color:#bbb"&gt; &lt;/span&gt;&lt;span style="color:#b44"&gt;&amp;#34;nc host.example.com 1234&amp;#34;&lt;/span&gt;&lt;span style="color:#bbb"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Note the use of &lt;code&gt;keep_alive: true&lt;/code&gt; to keep the network connection persistent.&lt;/p&gt;
&lt;h2 id="http-output"&gt;HTTP/HTTPS Output&lt;/h2&gt;
&lt;p&gt;If you'd like to send alerts to an HTTP(S) endpoint, you can use the &lt;code&gt;http_output&lt;/code&gt; option:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"&gt;&lt;code class="language-yaml" data-lang="yaml"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#008000;font-weight:bold"&gt;json_output&lt;/span&gt;:&lt;span style="color:#bbb"&gt; &lt;/span&gt;&lt;span style="color:#a2f;font-weight:bold"&gt;true&lt;/span&gt;&lt;span style="color:#bbb"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#00f;font-weight:bold"&gt;...&lt;/span&gt;&lt;span style="color:#bbb"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#008000;font-weight:bold"&gt;http_output&lt;/span&gt;:&lt;span style="color:#bbb"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#bbb"&gt; &lt;/span&gt;&lt;span style="color:#008000;font-weight:bold"&gt;enabled&lt;/span&gt;:&lt;span style="color:#bbb"&gt; &lt;/span&gt;&lt;span style="color:#a2f;font-weight:bold"&gt;true&lt;/span&gt;&lt;span style="color:#bbb"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#bbb"&gt; &lt;/span&gt;&lt;span style="color:#008000;font-weight:bold"&gt;url&lt;/span&gt;:&lt;span style="color:#bbb"&gt; &lt;/span&gt;http://some.url/some/path/&lt;span style="color:#bbb"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Currently, only unencrypted HTTP endpoints and valid HTTPS endpoints are supported (i.e., invalid or self-signed certificates are not supported).&lt;/p&gt;
&lt;h2 id="json-output"&gt;JSON Output&lt;/h2&gt;
&lt;p&gt;For all output channels, you can switch to JSON output either in the configuration file or on the command line. For each alert, Falco will print a JSON object, on a single line, containing the following properties:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;time&lt;/code&gt;: the time of the alert, in ISO8601 format.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;rule&lt;/code&gt;: the rule that resulted in the alert.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;priority&lt;/code&gt;: the priority of the rule that generated the alert.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;output&lt;/code&gt;: the formatted output string for the alert.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;hostname&lt;/code&gt;: the name of the host running Falco (can be the hostname inside the container).&lt;/li&gt;
&lt;li&gt;&lt;code&gt;tags&lt;/code&gt;: the list of tags associated with the rule.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;output_fields&lt;/code&gt;: for each templated value in the output expression, the value of that field from the event that triggered the alert.&lt;/li&gt;
&lt;/ul&gt;
&lt;blockquote&gt;
&lt;p&gt;Notice that, besides the ones included automatically, you can also include additional fields to &lt;code&gt;output_fields&lt;/code&gt; through &lt;code&gt;append_output&lt;/code&gt; settings in the &lt;a href="https://github.com/falcosecurity/falco/blob/master/falco.yaml"&gt;configuration&lt;/a&gt;.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Here's an example:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"&gt;&lt;code class="language-javascript" data-lang="javascript"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;{&lt;span style="color:#b44"&gt;&amp;#34;hostname&amp;#34;&lt;/span&gt;&lt;span style="color:#666"&gt;:&lt;/span&gt;&lt;span style="color:#b44"&gt;&amp;#34;falco-xczjd&amp;#34;&lt;/span&gt;,&lt;span style="color:#b44"&gt;&amp;#34;output&amp;#34;&lt;/span&gt;&lt;span style="color:#666"&gt;:&lt;/span&gt;&lt;span style="color:#b44"&gt;&amp;#34;13:44:05.478445995: Critical A shell was spawned in a container with an attached terminal (user=root user_loginuid=-1 k8s.ns=default k8s.pod=kubecon container=ee97d9c4186f shell=sh parent=runc cmdline=sh -c clear; (bash || ash || sh) terminal=34816 container_id=ee97d9c4186f image=docker.io/library/alpine)&amp;#34;&lt;/span&gt;,&lt;span style="color:#b44"&gt;&amp;#34;priority&amp;#34;&lt;/span&gt;&lt;span style="color:#666"&gt;:&lt;/span&gt;&lt;span style="color:#b44"&gt;&amp;#34;Critical&amp;#34;&lt;/span&gt;,&lt;span style="color:#b44"&gt;&amp;#34;rule&amp;#34;&lt;/span&gt;&lt;span style="color:#666"&gt;:&lt;/span&gt;&lt;span style="color:#b44"&gt;&amp;#34;Terminal shell in container&amp;#34;&lt;/span&gt;,&lt;span style="color:#b44"&gt;&amp;#34;source&amp;#34;&lt;/span&gt;&lt;span style="color:#666"&gt;:&lt;/span&gt;&lt;span style="color:#b44"&gt;&amp;#34;syscall&amp;#34;&lt;/span&gt;,&lt;span style="color:#b44"&gt;&amp;#34;tags&amp;#34;&lt;/span&gt;&lt;span style="color:#666"&gt;:&lt;/span&gt;[&lt;span style="color:#b44"&gt;&amp;#34;container&amp;#34;&lt;/span&gt;,&lt;span style="color:#b44"&gt;&amp;#34;mitre_execution&amp;#34;&lt;/span&gt;,&lt;span style="color:#b44"&gt;&amp;#34;shell&amp;#34;&lt;/span&gt;],&lt;span style="color:#b44"&gt;&amp;#34;time&amp;#34;&lt;/span&gt;&lt;span style="color:#666"&gt;:&lt;/span&gt;&lt;span style="color:#b44"&gt;&amp;#34;2023-05-25T13:44:05.478445995Z&amp;#34;&lt;/span&gt;, &lt;span style="color:#b44"&gt;&amp;#34;output_fields&amp;#34;&lt;/span&gt;&lt;span style="color:#666"&gt;:&lt;/span&gt; {&lt;span style="color:#b44"&gt;&amp;#34;container.id&amp;#34;&lt;/span&gt;&lt;span style="color:#666"&gt;:&lt;/span&gt;&lt;span style="color:#b44"&gt;&amp;#34;ee97d9c4186f&amp;#34;&lt;/span&gt;,&lt;span style="color:#b44"&gt;&amp;#34;container.image.repository&amp;#34;&lt;/span&gt;&lt;span style="color:#666"&gt;:&lt;/span&gt;&lt;span style="color:#b44"&gt;&amp;#34;docker.io/library/alpine&amp;#34;&lt;/span&gt;,&lt;span style="color:#b44"&gt;&amp;#34;evt.time&amp;#34;&lt;/span&gt;&lt;span style="color:#666"&gt;:&lt;/span&gt;&lt;span style="color:#666"&gt;1685022245478445995&lt;/span&gt;,&lt;span style="color:#b44"&gt;&amp;#34;k8s.ns.name&amp;#34;&lt;/span&gt;&lt;span style="color:#666"&gt;:&lt;/span&gt;&lt;span style="color:#b44"&gt;&amp;#34;default&amp;#34;&lt;/span&gt;,&lt;span style="color:#b44"&gt;&amp;#34;k8s.pod.name&amp;#34;&lt;/span&gt;&lt;span style="color:#666"&gt;:&lt;/span&gt;&lt;span style="color:#b44"&gt;&amp;#34;kubecon&amp;#34;&lt;/span&gt;,&lt;span style="color:#b44"&gt;&amp;#34;proc.cmdline&amp;#34;&lt;/span&gt;&lt;span style="color:#666"&gt;:&lt;/span&gt;&lt;span style="color:#b44"&gt;&amp;#34;sh -c clear; (bash || ash || sh)&amp;#34;&lt;/span&gt;,&lt;span style="color:#b44"&gt;&amp;#34;proc.name&amp;#34;&lt;/span&gt;&lt;span style="color:#666"&gt;:&lt;/span&gt;&lt;span style="color:#b44"&gt;&amp;#34;sh&amp;#34;&lt;/span&gt;,&lt;span style="color:#b44"&gt;&amp;#34;proc.pname&amp;#34;&lt;/span&gt;&lt;span style="color:#666"&gt;:&lt;/span&gt;&lt;span style="color:#b44"&gt;&amp;#34;runc&amp;#34;&lt;/span&gt;,&lt;span style="color:#b44"&gt;&amp;#34;proc.tty&amp;#34;&lt;/span&gt;&lt;span style="color:#666"&gt;:&lt;/span&gt;&lt;span style="color:#666"&gt;34816&lt;/span&gt;,&lt;span style="color:#b44"&gt;&amp;#34;user.loginuid&amp;#34;&lt;/span&gt;&lt;span style="color:#666"&gt;:-&lt;/span&gt;&lt;span style="color:#666"&gt;1&lt;/span&gt;,&lt;span style="color:#b44"&gt;&amp;#34;user.name&amp;#34;&lt;/span&gt;&lt;span style="color:#666"&gt;:&lt;/span&gt;&lt;span style="color:#b44"&gt;&amp;#34;root&amp;#34;&lt;/span&gt;}}
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Here's the same output, pretty-printed:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"&gt;&lt;code class="language-javascript" data-lang="javascript"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;{
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#b44"&gt;&amp;#34;hostname&amp;#34;&lt;/span&gt;&lt;span style="color:#666"&gt;:&lt;/span&gt; &lt;span style="color:#b44"&gt;&amp;#34;falco-xczjd&amp;#34;&lt;/span&gt;,
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#b44"&gt;&amp;#34;output&amp;#34;&lt;/span&gt;&lt;span style="color:#666"&gt;:&lt;/span&gt; &lt;span style="color:#b44"&gt;&amp;#34;13:44:05.478445995: Critical A shell was spawned in a container with an attached terminal (user=root user_loginuid=-1 k8s.ns=default k8s.pod=kubecon container=ee97d9c4186f shell=sh parent=runc cmdline=sh -c clear; (bash || ash || sh) terminal=34816 container_id=ee97d9c4186f image=docker.io/library/alpine)&amp;#34;&lt;/span&gt;,
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#b44"&gt;&amp;#34;priority&amp;#34;&lt;/span&gt;&lt;span style="color:#666"&gt;:&lt;/span&gt; &lt;span style="color:#b44"&gt;&amp;#34;Critical&amp;#34;&lt;/span&gt;,
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#b44"&gt;&amp;#34;rule&amp;#34;&lt;/span&gt;&lt;span style="color:#666"&gt;:&lt;/span&gt; &lt;span style="color:#b44"&gt;&amp;#34;Terminal shell in container&amp;#34;&lt;/span&gt;,
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#b44"&gt;&amp;#34;source&amp;#34;&lt;/span&gt;&lt;span style="color:#666"&gt;:&lt;/span&gt; &lt;span style="color:#b44"&gt;&amp;#34;syscall&amp;#34;&lt;/span&gt;,
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#b44"&gt;&amp;#34;tags&amp;#34;&lt;/span&gt;&lt;span style="color:#666"&gt;:&lt;/span&gt; [
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#b44"&gt;&amp;#34;container&amp;#34;&lt;/span&gt;,
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#b44"&gt;&amp;#34;mitre_execution&amp;#34;&lt;/span&gt;,
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#b44"&gt;&amp;#34;shell&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; ],
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#b44"&gt;&amp;#34;time&amp;#34;&lt;/span&gt;&lt;span style="color:#666"&gt;:&lt;/span&gt; &lt;span style="color:#b44"&gt;&amp;#34;2023-05-25T13:44:05.478445995Z&amp;#34;&lt;/span&gt;,
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#b44"&gt;&amp;#34;output_fields&amp;#34;&lt;/span&gt;&lt;span style="color:#666"&gt;:&lt;/span&gt; {
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#b44"&gt;&amp;#34;container.id&amp;#34;&lt;/span&gt;&lt;span style="color:#666"&gt;:&lt;/span&gt; &lt;span style="color:#b44"&gt;&amp;#34;ee97d9c4186f&amp;#34;&lt;/span&gt;,
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#b44"&gt;&amp;#34;container.image.repository&amp;#34;&lt;/span&gt;&lt;span style="color:#666"&gt;:&lt;/span&gt; &lt;span style="color:#b44"&gt;&amp;#34;docker.io/library/alpine&amp;#34;&lt;/span&gt;,
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#b44"&gt;&amp;#34;evt.time&amp;#34;&lt;/span&gt;&lt;span style="color:#666"&gt;:&lt;/span&gt; &lt;span style="color:#666"&gt;1685022245478445995&lt;/span&gt;,
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#b44"&gt;&amp;#34;k8s.ns.name&amp;#34;&lt;/span&gt;&lt;span style="color:#666"&gt;:&lt;/span&gt; &lt;span style="color:#b44"&gt;&amp;#34;default&amp;#34;&lt;/span&gt;,
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#b44"&gt;&amp;#34;k8s.pod.name&amp;#34;&lt;/span&gt;&lt;span style="color:#666"&gt;:&lt;/span&gt; &lt;span style="color:#b44"&gt;&amp;#34;kubecon&amp;#34;&lt;/span&gt;,
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#b44"&gt;&amp;#34;proc.cmdline&amp;#34;&lt;/span&gt;&lt;span style="color:#666"&gt;:&lt;/span&gt; &lt;span style="color:#b44"&gt;&amp;#34;sh -c clear; (bash || ash || sh)&amp;#34;&lt;/span&gt;,
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#b44"&gt;&amp;#34;proc.name&amp;#34;&lt;/span&gt;&lt;span style="color:#666"&gt;:&lt;/span&gt; &lt;span style="color:#b44"&gt;&amp;#34;sh&amp;#34;&lt;/span&gt;,
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#b44"&gt;&amp;#34;proc.pname&amp;#34;&lt;/span&gt;&lt;span style="color:#666"&gt;:&lt;/span&gt; &lt;span style="color:#b44"&gt;&amp;#34;runc&amp;#34;&lt;/span&gt;,
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#b44"&gt;&amp;#34;proc.tty&amp;#34;&lt;/span&gt;&lt;span style="color:#666"&gt;:&lt;/span&gt; &lt;span style="color:#666"&gt;34816&lt;/span&gt;,
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#b44"&gt;&amp;#34;user.loginuid&amp;#34;&lt;/span&gt;&lt;span style="color:#666"&gt;:&lt;/span&gt; &lt;span style="color:#666"&gt;-&lt;/span&gt;&lt;span style="color:#666"&gt;1&lt;/span&gt;,
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#b44"&gt;&amp;#34;user.name&amp;#34;&lt;/span&gt;&lt;span style="color:#666"&gt;:&lt;/span&gt; &lt;span style="color:#b44"&gt;&amp;#34;root&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; }
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;}
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id="grpc-output"&gt;gRPC Output&lt;/h2&gt;
&lt;div class="card card-sm pageinfo pageinfo-warning my-4"&gt;
&lt;div class="card-body"&gt;
&lt;div class="card-text"&gt;
&lt;p&gt;The gRPC Output as well as the embedded gRPC server have been deprecated in Falco &lt;code&gt;0.43.0&lt;/code&gt; and will be removed in a
future release. Until removal and since Falco &lt;code&gt;0.43.0&lt;/code&gt;, using any of them will result in a warning informing the user
about the deprecation. Users are encouraged to leverage another output and/or Falcosidekick, as the usage will result
in an error after the removal.&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;If you'd like to send alerts to an external program connected via gRPC API, you need to enable both the &lt;code&gt;grpc&lt;/code&gt; and &lt;code&gt;grpc_output&lt;/code&gt; options as described under the &lt;a href="https://v0-43--falcosecurity.netlify.app/docs/grpc/#configuration"&gt;gRPC Configuration section&lt;/a&gt;.&lt;/p&gt;</description></item><item><title>Docs: Alert Formatting</title><link>https://v0-43--falcosecurity.netlify.app/docs/concepts/outputs/formatting/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://v0-43--falcosecurity.netlify.app/docs/concepts/outputs/formatting/</guid><description>
&lt;p&gt;Previous guides introduced the &lt;a href="https://v0-43--falcosecurity.netlify.app/docs/concepts/rules/basic-elements/#output"&gt;Output Fields of Falco Rules&lt;/a&gt; and provided &lt;a href="https://v0-43--falcosecurity.netlify.app/docs/concepts/rules/style-guide/#output-fields"&gt;Guidelines&lt;/a&gt; on how to use them. This section highlights additional global formatting options for your deployment, complementing the information previously provided.&lt;/p&gt;
&lt;p&gt;Adding the same output field to multiple rules by manually editing rule files can be tedious. Fortunately, Falco provides several ways to simplify this process:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Using the &lt;code&gt;append_output&lt;/code&gt; configuration option in &lt;code&gt;falco.yaml&lt;/code&gt; to add output text or fields to a subset of loaded rules&lt;/li&gt;
&lt;li&gt;Adding an override to a specific rule to replace its output&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="appending-extra-output-and-fields-with-append-output"&gt;Appending Extra Output and Fields with &lt;code&gt;append_output&lt;/code&gt;&lt;/h2&gt;
&lt;p&gt;The &lt;code&gt;append_output&lt;/code&gt; option can be specified in the &lt;code&gt;falco.yaml&lt;/code&gt; configuration file. You can use it to add extra output to rules specified by source, tag, name, or to all rules unconditionally. The &lt;code&gt;append_output&lt;/code&gt; section is a list of items that are applied in the order they appear.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Example:&lt;/strong&gt;&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"&gt;&lt;code class="language-yaml" data-lang="yaml"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#008000;font-weight:bold"&gt;append_output&lt;/span&gt;:&lt;span style="color:#bbb"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#bbb"&gt; &lt;/span&gt;- &lt;span style="color:#008000;font-weight:bold"&gt;match&lt;/span&gt;:&lt;span style="color:#bbb"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#bbb"&gt; &lt;/span&gt;&lt;span style="color:#008000;font-weight:bold"&gt;source&lt;/span&gt;:&lt;span style="color:#bbb"&gt; &lt;/span&gt;syscall&lt;span style="color:#bbb"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#bbb"&gt; &lt;/span&gt;&lt;span style="color:#008000;font-weight:bold"&gt;extra_output&lt;/span&gt;:&lt;span style="color:#bbb"&gt; &lt;/span&gt;&lt;span style="color:#b44"&gt;&amp;#34;on CPU %evt.cpu&amp;#34;&lt;/span&gt;&lt;span style="color:#bbb"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#bbb"&gt; &lt;/span&gt;&lt;span style="color:#008000;font-weight:bold"&gt;extra_fields&lt;/span&gt;:&lt;span style="color:#bbb"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#bbb"&gt; &lt;/span&gt;- &lt;span style="color:#008000;font-weight:bold"&gt;home_directory&lt;/span&gt;:&lt;span style="color:#bbb"&gt; &lt;/span&gt;&lt;span style="color:#b44"&gt;&amp;#34;${HOME}&amp;#34;&lt;/span&gt;&lt;span style="color:#bbb"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#bbb"&gt; &lt;/span&gt;- evt.hostname&lt;span style="color:#bbb"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;In this example:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Every rule with the &lt;code&gt;syscall&lt;/code&gt; source will have &lt;code&gt;on CPU %evt.cpu&lt;/code&gt; appended at the end of the regular output line.&lt;/li&gt;
&lt;li&gt;The rule will also include the additional fields (&lt;code&gt;home_directory&lt;/code&gt; and &lt;code&gt;evt.hostname&lt;/code&gt;) in the JSON output under &lt;code&gt;output_fields&lt;/code&gt;. These extra fields do not appear in the regular (text) output.&lt;/li&gt;
&lt;li&gt;Environment variables (like &lt;code&gt;$HOME&lt;/code&gt;) expansion is supported in the configuration file, so for &lt;code&gt;extra_fields&lt;/code&gt; as well.&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="matching-rules"&gt;Matching Rules&lt;/h3&gt;
&lt;p&gt;The &lt;code&gt;match&lt;/code&gt; section allows you to filter which rules are modified:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;source&lt;/code&gt;: filters rules by source (e.g., &lt;code&gt;syscall&lt;/code&gt; or plugin names)&lt;/li&gt;
&lt;li&gt;&lt;code&gt;rule&lt;/code&gt;: filters by the complete rule name&lt;/li&gt;
&lt;li&gt;&lt;code&gt;tags&lt;/code&gt;: filters by a list of tags (all listed tags must be present)&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;If multiple conditions are specified under &lt;code&gt;match&lt;/code&gt;, all must be met for the entry to apply. If no conditions are specified—or &lt;code&gt;match&lt;/code&gt; is omitted—then the entry applies to all rules.&lt;/p&gt;
&lt;h2 id="adding-an-override-to-a-specific-rule"&gt;Adding an Override to a Specific Rule&lt;/h2&gt;
&lt;p&gt;Note that &lt;code&gt;append_output&lt;/code&gt; only &lt;em&gt;adds&lt;/em&gt; output to an existing rule; it does not remove or replace existing fields. To remove or replace output fields, you can add another rule file (loaded after the original) that uses an &lt;a href="https://v0-43--falcosecurity.netlify.app/docs/rules/overriding/#append-and-replace-items-in-a-rule"&gt;override&lt;/a&gt;. For example:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"&gt;&lt;code class="language-yaml" data-lang="yaml"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;- &lt;span style="color:#008000;font-weight:bold"&gt;rule&lt;/span&gt;:&lt;span style="color:#bbb"&gt; &lt;/span&gt;Read sensitive file trusted after startup&lt;span style="color:#bbb"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#bbb"&gt; &lt;/span&gt;&lt;span style="color:#008000;font-weight:bold"&gt;output&lt;/span&gt;:&lt;span style="color:#bbb"&gt; &lt;/span&gt;A file (user=%user.name command=%proc.cmdline file=%fd.name) was read after startup&lt;span style="color:#bbb"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#bbb"&gt; &lt;/span&gt;&lt;span style="color:#008000;font-weight:bold"&gt;override&lt;/span&gt;:&lt;span style="color:#bbb"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#bbb"&gt; &lt;/span&gt;&lt;span style="color:#008000;font-weight:bold"&gt;output&lt;/span&gt;:&lt;span style="color:#bbb"&gt; &lt;/span&gt;replace&lt;span style="color:#bbb"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id="suggested-output-fields"&gt;Suggested Output Fields&lt;/h3&gt;
&lt;p&gt;By default, Falco can also include &amp;quot;suggested&amp;quot; fields from plugins implementing the extraction capabilities. This is especially useful if certain plugins mark some fields as recommended for output. Those fields will appear automatically in your alerts.&lt;/p&gt;
&lt;p&gt;Below is an example configuration entry that enables suggested output fields unconditionally for any source:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"&gt;&lt;code class="language-yaml" data-lang="yaml"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#008000;font-weight:bold"&gt;append_output&lt;/span&gt;:&lt;span style="color:#bbb"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#bbb"&gt; &lt;/span&gt;- &lt;span style="color:#008000;font-weight:bold"&gt;suggested_output&lt;/span&gt;:&lt;span style="color:#bbb"&gt; &lt;/span&gt;&lt;span style="color:#a2f;font-weight:bold"&gt;true&lt;/span&gt;&lt;span style="color:#bbb"&gt; &lt;/span&gt;&lt;span style="color:#080;font-style:italic"&gt;# Enable the use of extractor plugins&amp;#39; suggested fields for all matching sources.&lt;/span&gt;&lt;span style="color:#bbb"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;When &lt;code&gt;suggested_output&lt;/code&gt; is set to &lt;code&gt;true&lt;/code&gt;, any extractor plugin that provides &amp;quot;suggested&amp;quot; fields will add them to the output in the form &lt;code&gt;plugin_field_name=$plugin.field_name&lt;/code&gt;.&lt;/p&gt;
&lt;h3 id="command-line-usage"&gt;Command-Line Usage&lt;/h3&gt;
&lt;p&gt;You can also specify this option on the command line via the &lt;code&gt;-o&lt;/code&gt; flag, for example:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;falco ... &lt;span style="color:#b62;font-weight:bold"&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; -o &lt;span style="color:#b44"&gt;&amp;#39;append_output[]={&amp;#34;match&amp;#34;: {&amp;#34;source&amp;#34;: &amp;#34;syscall&amp;#34;}, &amp;#34;extra_output&amp;#34;: &amp;#34;on CPU %evt.cpu&amp;#34;, &amp;#34;extra_fields&amp;#34;: [&amp;#34;evt.hostname&amp;#34;]}&amp;#39;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;</description></item><item><title>Docs: Alerts Forwarding</title><link>https://v0-43--falcosecurity.netlify.app/docs/concepts/outputs/forwarding/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://v0-43--falcosecurity.netlify.app/docs/concepts/outputs/forwarding/</guid><description>
&lt;p&gt;Falco alerts can easily be forwarded to third-party systems. Their JSON format allows them to be easily consumed for storage, analysis and reaction.&lt;/p&gt;
&lt;h2 id="falcosidekick"&gt;Falcosidekick&lt;/h2&gt;
&lt;p&gt;Falcosidekick is a proxy forwarder that acts as a central point for any fleet of Falco instances, using their HTTP outputs to send alerts.&lt;/p&gt;
&lt;p&gt;It supports forwarding alerts to various outputs such as chat platforms, alerting systems, logs, storage services, and streaming systems.&lt;/p&gt;
&lt;p&gt;&lt;img src="https://v0-43--falcosecurity.netlify.app/docs/images/falcosidekick_forwarding.png" alt="Falcosidekick" loading="lazy" /&gt;
&lt;/p&gt;
&lt;p&gt;Falcosidekick can also add custom fields to the alerts, filter them by priority and expose a Prometheus metrics endpoint.&lt;/p&gt;
&lt;p&gt;The full documentation and the project repository are &lt;a href="https://github.com/falcosecurity/falcosidekick"&gt;here&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Falcosidekick can be deployed with Falco in Kubernetes clusters with the official Falco &lt;a href="https://github.com/falcosecurity/charts"&gt;Helm chart&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Its configuration can be made through a yaml file and/or env vars.&lt;/p&gt;
&lt;h3 id="outputs"&gt;Outputs&lt;/h3&gt;
&lt;div class="alert alert-primary" role="alert"&gt;
Follow the links to know what are the settings of each output.
&lt;/div&gt;
&lt;p&gt;The available outputs in Falcosidekick are:&lt;/p&gt;
&lt;p&gt;&lt;em&gt;Chat&lt;/em&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://github.com/falcosecurity/falcosidekick/blob/master/docs/outputs/slack.md"&gt;&lt;strong&gt;Slack&lt;/strong&gt;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/falcosecurity/falcosidekick/blob/master/docs/outputs/rocketchat.md"&gt;&lt;strong&gt;Rocketchat&lt;/strong&gt;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/falcosecurity/falcosidekick/blob/master/docs/outputs/mattermost.md"&gt;&lt;strong&gt;Mattermost&lt;/strong&gt;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/falcosecurity/falcosidekick/blob/master/docs/outputs/teams.md"&gt;&lt;strong&gt;Teams&lt;/strong&gt;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/falcosecurity/falcosidekick/blob/master/docs/outputs/webex.md"&gt;&lt;strong&gt;Webex&lt;/strong&gt;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/falcosecurity/falcosidekick/blob/master/docs/outputs/discord.md"&gt;&lt;strong&gt;Discord&lt;/strong&gt;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/falcosecurity/falcosidekick/blob/master/docs/outputs/googlechat.md"&gt;&lt;strong&gt;Google Chat&lt;/strong&gt;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/falcosecurity/falcosidekick/blob/master/docs/outputs/cliq.md"&gt;&lt;strong&gt;Zoho Cliq&lt;/strong&gt;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/falcosecurity/falcosidekick/blob/master/docs/outputs/telegram.md"&gt;&lt;strong&gt;Telegram&lt;/strong&gt;&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;em&gt;Metrics / Observability&lt;/em&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://github.com/falcosecurity/falcosidekick/blob/master/docs/outputs/datadog.md"&gt;&lt;strong&gt;Datadog&lt;/strong&gt;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/falcosecurity/falcosidekick/blob/master/docs/outputs/influxdb.md"&gt;&lt;strong&gt;Influxdb&lt;/strong&gt;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/falcosecurity/falcosidekick/blob/master/docs/outputs/statsd.md"&gt;&lt;strong&gt;StatsD&lt;/strong&gt;&lt;/a&gt; (for monitoring of &lt;code&gt;falcosidekick&lt;/code&gt;)&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/falcosecurity/falcosidekick/blob/master/docs/outputs/dogstatsd.md"&gt;&lt;strong&gt;DogStatsD&lt;/strong&gt;&lt;/a&gt; (for monitoring of &lt;code&gt;falcosidekick&lt;/code&gt;)&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/falcosecurity/falcosidekick/blob/master/docs/outputs/prometheus.md"&gt;&lt;strong&gt;Prometheus&lt;/strong&gt;&lt;/a&gt; (for both events and monitoring of &lt;code&gt;falcosidekick&lt;/code&gt;)&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/falcosecurity/falcosidekick/blob/master/docs/outputs/wavefront.md"&gt;&lt;strong&gt;Wavefront&lt;/strong&gt;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/falcosecurity/falcosidekick/blob/master/docs/outputs/spyderbat.md"&gt;&lt;strong&gt;Spyderbat&lt;/strong&gt;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/falcosecurity/falcosidekick/blob/master/docs/outputs/timescaledb.md"&gt;&lt;strong&gt;TimescaleDB&lt;/strong&gt;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/falcosecurity/falcosidekick/blob/master/docs/outputs/dynatrace.md"&gt;&lt;strong&gt;Dynatrace&lt;/strong&gt;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/falcosecurity/falcosidekick/blob/master/docs/outputs/otlp_metrics.md"&gt;&lt;strong&gt;OTEL Metrics&lt;/strong&gt;&lt;/a&gt; (for both events and monitoring of &lt;code&gt;falcosidekick&lt;/code&gt;)&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;em&gt;Alerting&lt;/em&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://github.com/falcosecurity/falcosidekick/blob/master/docs/outputs/alertmanager.md"&gt;&lt;strong&gt;AlertManager&lt;/strong&gt;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/falcosecurity/falcosidekick/blob/master/docs/outputs/opsgenie.md"&gt;&lt;strong&gt;Opsgenie&lt;/strong&gt;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/falcosecurity/falcosidekick/blob/master/docs/outputs/pagerduty.md"&gt;&lt;strong&gt;PagerDuty&lt;/strong&gt;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/falcosecurity/falcosidekick/blob/master/docs/outputs/grafana_oncall.md"&gt;&lt;strong&gt;Grafana OnCall&lt;/strong&gt;&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;em&gt;Logs&lt;/em&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://github.com/falcosecurity/falcosidekick/blob/master/docs/outputs/elasticsearch.md"&gt;&lt;strong&gt;Elasticsearch&lt;/strong&gt;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/falcosecurity/falcosidekick/blob/master/docs/outputs/loki.md"&gt;&lt;strong&gt;Loki&lt;/strong&gt;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/falcosecurity/falcosidekick/blob/master/docs/outputs/aws_cloudwatch_logs.md"&gt;&lt;strong&gt;AWS CloudWatchLogs&lt;/strong&gt;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/falcosecurity/falcosidekick/blob/master/docs/outputs/grafana.md"&gt;&lt;strong&gt;Grafana&lt;/strong&gt;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/falcosecurity/falcosidekick/blob/master/docs/outputs/syslog.md"&gt;&lt;strong&gt;Syslog&lt;/strong&gt;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/falcosecurity/falcosidekick/blob/master/docs/outputs//zincsearch.md"&gt;&lt;strong&gt;Zincsearch&lt;/strong&gt;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/falcosecurity/falcosidekick/blob/master/docs/outputs/openobserve.md"&gt;&lt;strong&gt;OpenObserve&lt;/strong&gt;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/falcosecurity/falcosidekick/blob/master/docs/outputs/sumologic.md"&gt;&lt;strong&gt;SumoLogic&lt;/strong&gt;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/falcosecurity/falcosidekick/blob/master/docs/outputs/quickwit.md"&gt;&lt;strong&gt;Quickwit&lt;/strong&gt;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/falcosecurity/falcosidekick/blob/master/docs/outputs/datadog_logs.md"&gt;&lt;strong&gt;Datadog Logs&lt;/strong&gt;&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;em&gt;Object Storage&lt;/em&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://github.com/falcosecurity/falcosidekick/blob/master/docs/outputs/aws_s3.md"&gt;&lt;strong&gt;AWS S3&lt;/strong&gt;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/falcosecurity/falcosidekick/blob/master/docs/outputs/gcp_storage.md"&gt;&lt;strong&gt;GCP Storage&lt;/strong&gt;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/falcosecurity/falcosidekick/blob/master/docs/outputs/yandex_s3.md"&gt;&lt;strong&gt;Yandex S3 Storage&lt;/strong&gt;&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;em&gt;FaaS / Serverless&lt;/em&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://github.com/falcosecurity/falcosidekick/blob/master/docs/outputs/aws_lambda.md"&gt;&lt;strong&gt;AWS Lambda&lt;/strong&gt;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/falcosecurity/falcosidekick/blob/master/docs/outputs/gcp_cloud_run.md"&gt;&lt;strong&gt;GCP Cloud Run&lt;/strong&gt;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/falcosecurity/falcosidekick/blob/master/docs/outputs/gcp_cloud_functions.md"&gt;&lt;strong&gt;GCP Cloud Functions&lt;/strong&gt;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/falcosecurity/falcosidekick/blob/master/docs/outputs/fission.md"&gt;&lt;strong&gt;Fission&lt;/strong&gt;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/falcosecurity/falcosidekick/blob/master/docs/outputs/cloudevents.md"&gt;&lt;strong&gt;KNative (CloudEvents)&lt;/strong&gt;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/falcosecurity/falcosidekick/blob/master/docs/outputs/kubeless.md"&gt;&lt;strong&gt;Kubeless&lt;/strong&gt;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/falcosecurity/falcosidekick/blob/master/docs/outputs/openfaas.md"&gt;&lt;strong&gt;OpenFaaS&lt;/strong&gt;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/falcosecurity/falcosidekick/blob/master/docs/outputs/tekton.md"&gt;&lt;strong&gt;Tekton&lt;/strong&gt;&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;em&gt;Message queue / Streaming&lt;/em&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://github.com/falcosecurity/falcosidekick/blob/master/docs/outputs/nats.md"&gt;&lt;strong&gt;NATS&lt;/strong&gt;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/falcosecurity/falcosidekick/blob/master/docs/outputs/stan.md"&gt;&lt;strong&gt;STAN (NATS Streaming)&lt;/strong&gt;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/falcosecurity/falcosidekick/blob/master/docs/outputs/aws_sqs.md"&gt;&lt;strong&gt;AWS SQS&lt;/strong&gt;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/falcosecurity/falcosidekick/blob/master/docs/outputs/aws_sns.md"&gt;&lt;strong&gt;AWS SNS&lt;/strong&gt;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/falcosecurity/falcosidekick/blob/master/docs/outputs/aws_kinesis.md"&gt;&lt;strong&gt;AWS Kinesis&lt;/strong&gt;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/falcosecurity/falcosidekick/blob/master/docs/outputs/gcp_pub_sub.md"&gt;&lt;strong&gt;GCP PubSub&lt;/strong&gt;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/falcosecurity/falcosidekick/blob/master/docs/outputs/kafka.md"&gt;&lt;strong&gt;Apache Kafka&lt;/strong&gt;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/falcosecurity/falcosidekick/blob/master/docs/outputs/kafkarest.md"&gt;&lt;strong&gt;Kafka Rest Proxy&lt;/strong&gt;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/falcosecurity/falcosidekick/blob/master/docs/outputs/rabbitmq.md"&gt;&lt;strong&gt;RabbitMQ&lt;/strong&gt;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/falcosecurity/falcosidekick/blob/master/docs/outputs/azure_event_hub.md"&gt;&lt;strong&gt;Azure Event Hubs&lt;/strong&gt;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/falcosecurity/falcosidekick/blob/master/docs/outputs/yandex_datastreams.md"&gt;&lt;strong&gt;Yandex Data Streams&lt;/strong&gt;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/falcosecurity/falcosidekick/blob/master/docs/outputs/mqtt.md"&gt;&lt;strong&gt;MQTT&lt;/strong&gt;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/falcosecurity/falcosidekick/blob/master/docs/outputs/gotify.md"&gt;&lt;strong&gt;Gotify&lt;/strong&gt;&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;em&gt;Email&lt;/em&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://github.com/falcosecurity/falcosidekick/blob/master/docs/outputs/smtp.md"&gt;&lt;strong&gt;SMTP&lt;/strong&gt;&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;em&gt;Database&lt;/em&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://github.com/falcosecurity/falcosidekick/blob/master/docs/outputs/redis.md"&gt;&lt;strong&gt;Redis&lt;/strong&gt;&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;em&gt;Web&lt;/em&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://github.com/falcosecurity/falcosidekick/blob/master/docs/outputs/webhook.md"&gt;&lt;strong&gt;Webhook&lt;/strong&gt;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/falcosecurity/falcosidekick/blob/master/docs/outputs/nodered.md"&gt;&lt;strong&gt;Node-RED&lt;/strong&gt;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/falcosecurity/falcosidekick/blob/master/docs/outputs/falcosidekick-ui.md"&gt;&lt;strong&gt;WebUI&lt;/strong&gt;&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;em&gt;SIEM&lt;/em&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://github.com/falcosecurity/falcosidekick/blob/master/docs/outputs/aws_security_lake.md"&gt;&lt;strong&gt;AWS Security Lake&lt;/strong&gt;&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;em&gt;Workflow&lt;/em&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://github.com/falcosecurity/falcosidekick/blob/master/docs/outputs/n8n.md"&gt;&lt;strong&gt;n8n&lt;/strong&gt;&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;em&gt;Traces&lt;/em&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://github.com/falcosecurity/falcosidekick/blob/master/docs/outputs/otlp_traces.md"&gt;&lt;strong&gt;OTEL Traces&lt;/strong&gt;&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;em&gt;Response engine&lt;/em&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://github.com/falcosecurity/falcosidekick/blob/master/docs/outputs/talon.md"&gt;&lt;strong&gt;Falco Talon&lt;/strong&gt;&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;em&gt;Other&lt;/em&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://github.com/falcosecurity/falcosidekick/blob/master/docs/outputs/policy_report.md"&gt;&lt;strong&gt;Policy Report&lt;/strong&gt;&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="installation-in-kubernetes-with-helm"&gt;Installation in Kubernetes with Helm&lt;/h3&gt;
&lt;p&gt;See the available &lt;a href="https://github.com/falcosecurity/charts/blob/master/charts/falcosidekick/values.yaml"&gt;Helm values&lt;/a&gt; to configure Falcosidekick.&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"&gt;&lt;code class="language-shell" data-lang="shell"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;helm install falco falcosecurity/falco &lt;span style="color:#b62;font-weight:bold"&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;-n falco --create-namespace &lt;span style="color:#b62;font-weight:bold"&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;--set falcosidekick.enabled&lt;span style="color:#666"&gt;=&lt;/span&gt;&lt;span style="color:#a2f"&gt;true&lt;/span&gt; &lt;span style="color:#b62;font-weight:bold"&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;--set &lt;span style="color:#b8860b"&gt;tty&lt;/span&gt;&lt;span style="color:#666"&gt;=&lt;/span&gt;&lt;span style="color:#a2f"&gt;true&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id="installation-in-docker"&gt;Installation in Docker&lt;/h3&gt;
&lt;p&gt;Use the env vars to configure Falcosidekick.&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"&gt;&lt;code class="language-shell" data-lang="shell"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;docker run -d -p 2801:2801 -e &lt;span style="color:#b8860b"&gt;SLACK_WEBHOOKURL&lt;/span&gt;&lt;span style="color:#666"&gt;=&lt;/span&gt;XXXX falcosecurity/falcosidekick:2.27.0
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id="installation-on-the-host"&gt;Installation on the host&lt;/h3&gt;
&lt;p&gt;Adapt the version and the architecture to your environment. You can find all the releases &lt;a href="https://github.com/falcosecurity/falcosidekick/releases"&gt;here&lt;/a&gt;.&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"&gt;&lt;code class="language-shell" data-lang="shell"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;sudo mkdir -p /etc/falcosidekick
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;wget https://github.com/falcosecurity/falcosidekick/releases/download/2.27.0/falcosidekick_2.27.0_linux_amd64.tar.gz &lt;span style="color:#666"&gt;&amp;amp;&amp;amp;&lt;/span&gt; sudo tar -C /usr/local/bin/ -xzf falcosidekick_2.27.0_linux_amd64.tar.gz
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;See the example config file to create your own in &lt;code&gt;/etc/falcosidekick/config.yaml&lt;/code&gt;.&lt;/p&gt;
&lt;p&gt;To enable and start the service, you can use a systemd unit &lt;code&gt;/etc/systemd/system/falcosidekick.service&lt;/code&gt; like this one:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"&gt;&lt;code class="language-shell" data-lang="shell"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#666"&gt;[&lt;/span&gt;Unit&lt;span style="color:#666"&gt;]&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#b8860b"&gt;Description&lt;/span&gt;&lt;span style="color:#666"&gt;=&lt;/span&gt;Falcosidekick
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#b8860b"&gt;After&lt;/span&gt;&lt;span style="color:#666"&gt;=&lt;/span&gt;network.target
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#b8860b"&gt;StartLimitIntervalSec&lt;/span&gt;&lt;span style="color:#666"&gt;=&lt;/span&gt;&lt;span style="color:#666"&gt;0&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#666"&gt;[&lt;/span&gt;Service&lt;span style="color:#666"&gt;]&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#b8860b"&gt;Type&lt;/span&gt;&lt;span style="color:#666"&gt;=&lt;/span&gt;simple
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#b8860b"&gt;Restart&lt;/span&gt;&lt;span style="color:#666"&gt;=&lt;/span&gt;always
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#b8860b"&gt;RestartSec&lt;/span&gt;&lt;span style="color:#666"&gt;=&lt;/span&gt;&lt;span style="color:#666"&gt;1&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#b8860b"&gt;ExecStart&lt;/span&gt;&lt;span style="color:#666"&gt;=&lt;/span&gt;/usr/local/bin/falcosidekick -c /etc/falcosidekick/config.yaml
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;EOF
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"&gt;&lt;code class="language-shell" data-lang="shell"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;systemctl &lt;span style="color:#a2f"&gt;enable&lt;/span&gt; falcosidekick
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;systemctl start falcosidekick
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id="falcosidekick-ui"&gt;Falcosidekick UI&lt;/h2&gt;
&lt;p&gt;Falcosidekick comes with its own interface to visualize the events and get statistics.&lt;/p&gt;
&lt;p&gt;&lt;img src="https://v0-43--falcosecurity.netlify.app/docs/images/falcosidekick_forwarding_ui_1.png" alt="Falcosidekick UI" loading="lazy" /&gt;
&lt;/p&gt;
&lt;h3 id="installation-in-kubernetes-with-helm-1"&gt;Installation in Kubernetes with Helm&lt;/h3&gt;
&lt;p&gt;You can install the UI at the same moment as Falcosidekick by adding the argument &lt;code&gt;--set falcosidekick.webui.enabled=true&lt;/code&gt;.&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"&gt;&lt;code class="language-shell" data-lang="shell"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;helm install falco falcosecurity/falco &lt;span style="color:#b62;font-weight:bold"&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;-n falco --create-namespace &lt;span style="color:#b62;font-weight:bold"&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;--set falcosidekick.enabled&lt;span style="color:#666"&gt;=&lt;/span&gt;&lt;span style="color:#a2f"&gt;true&lt;/span&gt; &lt;span style="color:#b62;font-weight:bold"&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;--set falcosidekick.webui.enabled&lt;span style="color:#666"&gt;=&lt;/span&gt;&lt;span style="color:#a2f"&gt;true&lt;/span&gt; &lt;span style="color:#b62;font-weight:bold"&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;--set &lt;span style="color:#b8860b"&gt;tty&lt;/span&gt;&lt;span style="color:#666"&gt;=&lt;/span&gt;&lt;span style="color:#a2f"&gt;true&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Then create a port-forward to access it: &lt;code&gt;kubectl port-forward svc falco-falcosidekick-ui 2802:2802 -n falco&lt;/code&gt;. The default credentials are &lt;code&gt;admin/admin&lt;/code&gt;.&lt;/p&gt;
&lt;p&gt;The full documentation and the repository of the project are &lt;a href="https://github.com/falcosecurity/falcosidekick-ui"&gt;here&lt;/a&gt;.&lt;/p&gt;</description></item></channel></rss>