Arkime 7
Dashboards, Shark, Featherprint, Shareable Layouts, Choose Your Database (Experimental), PCAPNG, Expression Rules, Capture, Viewer, Multi Viewer, esProxy, WISE, Parliament, Cont3xt, and More
🚀 Download Arkime 7.0.0-rc1 now! 🚀
Learn how to upgrade to Arkime 7 now!
db.pl <host:port> reindex-sessions2 first, the viewer no longer reads themdb.pl <host:port> upgradeuserNameHeader setting no longer picks the auth mode, and without authMode defaults to digest. Header auth needs authMode=header.esAdminUsers setting. Grant it with db.pl <host:port> users-update '<userId glob>' --addRole dbAdmin, and pair it with arkimeUser, which the viewer needs for any access.userAutoCreateTmpl setting is removed. Use the [user-auto-create] section.--webcode <code> or each user's own TOTP code.db.pl upgrade copies them for you (or run db.pl <host:port> shareables-import all); the originals stay, so Arkime 6 keeps working.simpleDEKEncoding is removed. The DEK is always encrypted with aes-256-gcm._flipSrcDst flips the whole session. It used to swap only the ips and ports; now packets, bytes, databytes, payload8, mac, oui, dscp, ttl, tcp seq/state and zero window counts swap too.offlineFilenameRegex matches .pcapng. The default used to match only .pcap and .cap.rotateIndex must be one capture accepts, freeSpaceG must be a number or a percentage, and the hunt and tshark limits, timeouts and ports must be numbers in range.awsUseTokenForMetadata defaults to true. The s3/sqs readers use IMDSv2 like the writer (s3UseTokenForMetadata still works); set it to false on hosts without IMDSv2.s3UseHttp applies to the s3/sqs readers when s3Host is set, they always used https before.View a detailed list of all the changes and download Arkime 7.0.0-rc1 now!
${variables} let one dashboard answer many questions, widgets can compare to the day or week before, show percentiles, and turn amber or red at warning and critical levels.
/opt/arkime/etc/dashboards (dashboardsDir) and they show up for everyone, no restart needed, and dashboardMaxQueryDays limits how much time a dashboard may search.
/opt/arkime/etc, see featherprintRulesFiles.
db.pl upgrade moves your existing layouts over for you.
[tee] can copy every session into ClickHouse while your viewers keep reading OpenSearch/Elasticsearch.
The new dbPlugins setting lets anyone add more, the source includes MongoDB and MySQL plugins in capture/plugins.
Existing installs change nothing, with none of the new settings everything stays in OpenSearch/Elasticsearch.
[default]
sessionsDbUrl=clickhouse://arkime:password@ch.example.com:8123
dbUrl=postgres://arkime:password@pg.example.com/arkime
See the Database Settings for the details.
expression instead of fields or bpf, using a syntax similar to the Sessions search bar plus math and functions:
&&, ||, ! and parentheses, lists, wildcards, regex, cidrs, comparisons, and functions like count(), lower(), isPrivate(), any() and bpf().
Expressions are compiled to bytecode when the rules file loads, mistakes are reported with the line and column, and log: true logs which conditions matched and their values.
Existing fields and bpf rules keep working unchanged in the same version: 1 files, and fields rules now run on the same engine, matching up to 2x faster.
See Rules Format for the details and the rules gallery for examples.
- name: "Odd TLS"
when: "afterClassify"
log: true
expression: >
protocols == tls
&& port.dst != [443, 8443]
&& !(ip.dst == [10.0.0.0/8, 192.168.0.0/16])
ops:
tags: "odd-tls"
tcp=idle:600;closing:5default.rules.yml is now installed and kept up to date for youperf-stats command socket command dumps queue depths, hash usage and outstanding requests for performance debugging/esadmin and now needs the dbAdmin rolesessionsDbUrl, sessionsDbPrefix, dbUrl and dbPrefix,
and the results from every cluster are merged together in Sessions, SPI View, SPI Graph and the dashboards, no matter where each cluster keeps its sessions.
Bring up a ClickHouse cluster next to your existing OpenSearch/Elasticsearch one and your users see both in one place (mixing in ClickHouse is experimental).
A cluster with both its sessions and cluster databases off OpenSearch/Elasticsearch needs none, so a multi viewer can run with no OpenSearch/Elasticsearch at all.
[multi-viewer]
multiESNodes=https://es1.example.com:9200,name:es1,prefix:arkime;https://es2.example.com:9200,name:ch1,prefix:arkime,sessionsDbUrl:clickhouse://ch.example.com:8123
The multi viewer also got many fixes: the Sessions timeline now shows every cluster's bytes and packets, top 10/20/50 lists sort by bytes and packets correctly, SPI Graph pie, treemap and sankey hierarchies keep every cluster's inner levels, and Nodes page retention is right when clusters share a node name.
sessionsDbUrl in its [tee] section and every session the sensors send through esProxy is also written to ClickHouse (or a dbPlugins sessions database), the same way capture writes them there, and hunt updates from sensor viewers are copied too.
Your sensors and viewers keep using OpenSearch/Elasticsearch while ClickHouse fills up beside it, so you can try ClickHouse with real traffic, compare the two, and then point a viewer or a multi viewer cluster at it.
Sessions are batched, and a batch that fails is retried one sensor at a time so one sensor's bad data can't drop everyone else's.
[default]
elasticsearch=https://es.example.com:9200
[tee]
sessionsDbUrl=clickhouse://arkime:password@ch.example.com:8123
Create the ClickHouse table first with /opt/arkime/db/ch.pl <url> init.
The original [tee] elasticsearch setting still copies everything to a second OpenSearch/Elasticsearch cluster.
[misp:<name>] instances--webcode or your own TOTP code[misp:<name>] instances