Suricata or Zeek: which fits your network security monitoring
Choose Suricata when signature and rule-based alerting on known threats is the priority. Choose Zeek when investigators need searchable connection and protocol transcripts and custom scripted analysis. Run both when you need alerts and network metadata together, which is the arrangement Security Onion uses by default. The decision turns on four things: your detection goals, the analyst skills you already have, how much scripting capacity your team can sustain, and the SIEM you already run. License is rarely the deciding factor. Zeek is licensed under the permissive BSD license, Suricata is licensed under GPL-2.0, and both are open source, so neither license should block adoption.
Suricata is a signature engine. It matches a complete signature language against traffic, detects anomalies, can run in IDS or IPS mode, and writes its main output, EVE, as JSON. It also logs HTTP requests, TLS certificates and DNS queries, and extracts files. Zeek is a passive traffic analyzer that writes connection records and application-layer transcripts by default, and its own documentation says it is not a classic signature-based IDS and is not optimized for byte matching. Its analyses are written as scripts in a domain-specific language, so the value depends on who will write and maintain them. If your analysts mostly search and pivot through logs, Zeek's metadata may serve them well. If they need rules that fire on a known indicator, start with Suricata.
Confirm three things before you choose. First, check whether your SIEM ingests Suricata EVE JSON, Zeek logs, or both, and what parsing content already exists for each, since that often decides the effort. Second, run a short pilot on a tap or span port that mirrors your real traffic, and compare alert volume, log volume and storage growth for each sensor. Third, identify who will own the output. Suricata rules need tuning and suppression, while Zeek scripts need engineering time. Security Onion lets you pick Zeek or Suricata for network metadata and Strelka for file analysis, so its architecture documentation is a useful next read if you want both running in one distribution.
Which platform fits which scenario
This table maps common team situations to the platform that usually fits better and the condition that decides it. Read each row as a starting point, then confirm the condition against your own traffic, staff skills and detection requirements, since many teams end up running both.
| Scenario | Better fit | Condition that drives the choice |
|---|---|---|
| Compliance-driven monitoring that must produce signature alerts for known malware and exploit traffic | Suricata | Suricata implements a complete signature language and can use the Emerging Threats and VRT rulesets. Zeek's documentation says it is not a classic signature-based IDS, so alerts for known signatures usually come from Suricata. |
| Threat hunting that needs historical connection and application logs | Zeek | Zeek writes connection records plus HTTP, DNS, SSL and SMTP transcripts by default, in TSV or JSON. Choose Zeek when the question is what happened on the network last month, not whether a known signature fired. |
| Team with limited scripting skills and little time to write detection logic | Suricata | Suricata's rule syntax covers most signature work without code, while Zeek's Turing-complete scripting language is powerful but needs staff who can read and maintain scripts. Lua scripting in Suricata is available for cases the rule syntax cannot express. |
| Inline blocking requirement to drop malicious traffic | Suricata | Suricata supports inline IPS operation, while Zeek is a passive analyzer and does not block traffic. Blocking adds availability risk, so confirm fail-open and fail-closed behavior before deployment. |
| Team that wants signature alerts and rich metadata from one sensor | Both, through Security Onion | Security Onion bundles Suricata, Zeek, Strelka and full packet capture in one distribution and lets you choose Zeek or Suricata for network metadata. Confirm the hardware and licensing terms of the edition you plan to run. |
| Very large links that need horizontal scaling of the analyzer | Zeek or Suricata, depending on the workload | Zeek clusters use a front-end load balancer, back-end instances and a central manager that ZeekControl supports. Suricata is multi-threaded and a single instance can inspect multi-gigabit traffic. Test both on your own traffic. |
| Small team that must answer both alert questions and retrospective investigations | Both, run side by side | Suricata alerts give fast triage of known threats, while Zeek logs give context for each connection. Running both doubles sensor tuning and storage work, so budget staff time for each. |
How Suricata and Zeek are built and what that means for operations
Suricata and Zeek both watch network traffic, but they produce different outputs and ask different things of the team running them. The cards below cover how each engine is built, how it captures traffic, how it scales and where its files end up, so you can judge the operating load before choosing one or running both.
Suricata's multi-threaded engine
Suricata runs as a multi-threaded engine in which a single instance can inspect multi-gigabit traffic, and its main output, EVE, writes alerts and events as JSON for tools such as Logstash. Operationally, the work is tuning thread affinity and rule sets for your hardware, then routing EVE into a pipeline your team can query. Ask your vendor or test lab to measure drops on your own traffic before you size a sensor.
Zeek's passive analyzer design
Zeek is a passive analyzer that observes traffic without sitting in the path, and it is not a classic signature engine. Its default analyses, including logging, are written as scripts rather than hard-coded in the core, so your team can change what gets recorded. The operating consequence is that Zeek's value depends on scripts your analysts maintain, and it will not alert on byte patterns the way Suricata does.
Protocol detection on any port
Suricata automatically identifies protocols such as HTTP on any port and applies the matching detection and logging logic, so traffic moved off standard ports is still parsed. Zeek also identifies application protocols, but its logs describe sessions rather than matching rules. Test this with your own non-standard services, since parsing coverage depends on the protocol and version in use.
Capture method choice
Suricata supports capture through PF_RING and AF_PACKET, along with hardware acceleration from several vendors, and the capture method strongly affects drops at high rates. AF_PACKET is the usual starting point on Linux, while PF_RING and vendor acceleration require more hardware and tuning work. Confirm which capture path your NIC and kernel support before you commit to a sensor design.
Zeek clusters and their manager
Large sites run Zeek clusters in which a front-end load balancer spreads traffic across back-end instances, coordinated by a central manager, and ZeekControl supports this layout out of the box. This adds components to patch, monitor and keep in sync, so a single-sensor pilot will not show the full operating load. Ask how the cluster handles a failed worker before you size it.
Where each writes its logs
Zeek writes connection records and application transcripts such as HTTP, DNS, SSL and SMTP to tab-separated or JSON log files that a database or SIEM can consume. Suricata writes its EVE JSON stream and can extract files and store TLS certificates. Plan disk and retention for both outputs separately, and confirm with your SIEM team which log formats their ingest pipeline expects.
Running Suricata alone, Zeek alone, or both
Running Suricata alone gives the team a signature-driven detection engine that also writes structured transaction logs. Its main output, EVE, writes alerts and events as JSON, and the engine logs HTTP requests, TLS certificates, DNS queries and responses, and can extract files and store full pcap for network security monitoring. That means a single sensor can answer both "did a known signature fire" and "what did this session look like" without a second engine. The gap is in what must be built around it. Teams need rule management (the Emerging Threats and VRT rulesets are both supported), a log shipper and parser for EVE, and a SIEM index with retention and alert routing. Load on the sensor grows with rule count, enabled protocol logging and traffic volume, so tuning and drop monitoring become recurring work.
- Detection: signature alerts, protocol anomalies and policy violations from a complete signature language.
- Evidence: EVE JSON events for HTTP, TLS, DNS and files, plus optional full pcap.
- SIEM build: an EVE ingest pipeline, field mapping and dashboards written by your team.
- Operating load: ongoing rule updates, false-positive tuning and checks for packet drops on the capture interface.
- Sensor fit: multi-threaded design that can inspect multi-gigabit traffic on one instance, with hardware acceleration where the NIC supports it.
Check whether your detection needs are mostly signatures, and confirm with your analysts whether protocol logs alone cover the investigations you expect to run.
Running Zeek alone gives the team a passive traffic analyzer whose default output is a broad metadata record of the network. By default it writes connection records and application-layer transcripts, including HTTP sessions, DNS requests and replies, SSL certificates and SMTP content, to tab-separated or JSON logs. Zeek is not a classic signature IDS and the project points signature users toward Suricata, so alerts from known bad patterns are not its strength. What it offers is a rich, searchable history for hunting, where analysts pivot from a suspicious host or certificate to every session that touched it. Because its analyses are scripts, teams can add detection logic with its Turing-complete scripting language, but that logic must be written and maintained in-house.
- Detection: behavioral and protocol-level analysis, with alerts only from scripts your team writes.
- Evidence: connection records and application transcripts that support retrospective investigation.
- SIEM build: log forwarding, schema mapping for TSV or JSON output, and a retention plan sized for metadata volume.
- Operating load: script development, the ZeekControl cluster layout for larger sites, and version upkeep (Zeek 9.0.0 is the current LTS release).
- Licensing: BSD, with Corelight as custodian of the project, which keeps the license permissive for internal use.
Before choosing this path, confirm that your team will write detections and not expect signature alerts out of the box.
Running both engines on the same traffic gives the team signature alerts and rich metadata at once. Suricata answers which known pattern fired, and Zeek answers what the surrounding sessions did before and after. Security Onion is a common way to reach this setup because it offers either Zeek or Suricata for network metadata and bundles both, along with Strelka for file analysis and full packet capture, in one distribution. Its recommended distributed deployment uses a manager node, search nodes and sensor nodes, and its standalone hardware baseline is 4 CPU cores, 24GB RAM and 200GB storage, with 32GB of RAM or more suggested when monitoring even a small amount of traffic. The cost is capacity and complexity: two sensors compete for CPU and disk on each tap, and correlation between the two data sets must be designed.
- Detection: Suricata alerts paired with Zeek context on the same sessions.
- Evidence: EVE events, Zeek logs, Strelka file results and optional full packet capture.
- SIEM build: Security Onion ships the pipeline, but custom correlation and retention still need design.
- Operating load: the highest of the three options, covering two engines, sensor sizing and storage growth.
- Licensing: Security Onion is published under the Elastic License 2.0, which forbids offering it as a managed service, and Security Onion Pro is a paid license with added features.
Ask the distribution vendor to confirm how each engine is licensed, sized and upgraded in your environment.
Capability comparison: detection, logging, scripting and scale
This table sets Suricata's signature-based detection and EVE JSON output against Zeek's traffic analysis, script-driven logging and cluster model. Read each row as a question about what your team will write, parse and operate, then confirm the open items in your own build before you commit.
| Capability | Suricata | Zeek |
|---|---|---|
| Primary detection approach | Signature language matches known threats, policy violations and malicious behavior, and it also detects traffic anomalies | Passive traffic analysis; the project states it is not a classic signature-based IDS and is not optimized for byte matching |
| Protocol logging (HTTP, TLS, DNS, files) | Logs HTTP requests, TLS certificates, all DNS queries and responses, and extracts files from flows | Writes connection records and application transcripts, including HTTP sessions, DNS, SSL certificates and SMTP content by default |
| Output format | EVE JSON for all events and alerts, suited to Logstash and similar tools | Tab-separated or JSON log files that external databases or SIEM products can consume |
| Scripting and custom logic | Lua scripting for detection that the rule syntax cannot express | Domain-specific, Turing-complete scripting language; default analyses, including logging, are scripts |
| Multi-threading and scale | Multi-threaded; a single instance can inspect multi-gigabit traffic, with PF_RING and AF_PACKET capture and vendor hardware acceleration | Large sites run clusters with a front-end load balancer, back-end instances and a central manager; ZeekControl supports this out of the box |
| Inline IPS support | Confirm in your own build and capture method, since inline mode depends on how Suricata is compiled and deployed | Passive by design; confirm your requirement for any blocking with your own architecture, as Zeek is not an inline blocking engine |
| License | GPL-2.0, with the OISF non-profit owning and supporting the project | BSD license, with Corelight as custodian providing financial backing and code without owning the project |
| Typical role in a pipeline | Alert-focused sensor that writes EVE JSON for a SIEM or Wazuh agent to read | Metadata and transcript generator for investigation and hunting, often paired with a signature engine |
License and editions for each platform
Suricata is licensed under the GPL-2.0, and its project and code are owned and supported by the Open Information Security Foundation (OISF), a 501(c)3 non-profit that states it is committed to keeping Suricata open source. The license governs the engine itself, so you can run, modify and redistribute it under GPL-2.0 terms. The supplied facts do not describe a paid Suricata edition, so the open-source project is the only edition to evaluate.
- Current stable line: Suricata 8.0.7 was released on September 15, 2026, and the Suricata 7 line is end of life with its last version, 7.0.17, released on July 7, 2026.
- Ownership: The OISF is a non-profit foundation rather than a company that sells a commercial product line.
- Source and packages: Suricata publishes source releases for Linux, macOS, FreeBSD, UNIX and Windows, a Windows 64-bit installer, an Ubuntu PPA and RPM packages.
- Rulesets: Rule sets such as the Emerging Threats Suricata ruleset and the VRT ruleset carry their own terms, which you should review separately from the engine license.
- Commercial support: Confirm directly with the OISF or any third party whether paid support or training terms exist.
Check which Suricata major line your standard operating images and packages track before you plan upgrades.
Zeek is licensed under the permissive BSD license. Corelight serves as custodian of the project, providing financial backing and code without owning it, so the project's direction is shaped by a custodian rather than by a single product owner. The supplied facts do not describe a paid Zeek edition, and you should not assume one exists without confirmation.
- Current LTS release: Zeek 9.0.0 is the current LTS release, and Zeek 8.0.10 is the previous LTS release.
- Release cadence: The project aims to publish a release about every four months.
- Maintenance window: LTS releases receive one year of maintenance, so plan upgrades from one LTS line to the next within that window.
- Permissive terms: BSD licensing allows you to embed or modify Zeek in your own tooling, subject to the license text.
- Commercial support: Ask Corelight or other vendors directly which support, training or enterprise terms apply, and whether those terms cover your version.
Align your Zeek upgrade plan with the LTS maintenance window and confirm the support terms in writing before you depend on them.
Security Onion is a distribution that bundles Suricata, Zeek, Strelka, full packet capture, Elasticsearch and Elastic Agent. Its license is the Elastic License 2.0 (Elastic-2.0), which applies to the bundled distribution, not to the Suricata or Zeek projects themselves. Security Onion moved from the GPL to ELv2 starting with Security Onion 2.4, announced on August 31, 2022. ELv2 is not OSI approved and forbids offering the software as a managed service.
- Current releases: Security Onion 3.0.0 was released on March 31, 2026, and 3.3.0 (hotfix 20260911) on September 11, 2026.
- Managed service limit: ELv2 prohibits offering the distribution as a managed service, which matters if you plan to resell monitoring.
- Paid tier: Security Onion Pro is a paid license that adds OIDC single sign-on, FIPS and STIG hardening, notifications, the Security Onion API, Manager of Managers and reports.
- Component licenses: Suricata and Zeek keep their own licenses inside the bundle, so review each component separately.
- Upgrade effort: Check how the bundle's release cadence affects your Suricata and Zeek versions.
Confirm with Security Onion Solutions how ELv2 applies to your planned use and whether Pro terms fit your environment.
How detection content differs: rules versus scripts
Suricata detection is rule-driven. Its complete signature language matches known threats, policy violations and malicious behavior, and the engine also detects traffic anomalies. Teams typically load rules from the Emerging Threats Suricata ruleset, the VRT ruleset or both, so day-to-day content work is a recurring cycle: pull updates, test them for false positives on your own traffic, and reload the engine. Confirm the license terms of each ruleset with its provider before production use, and plan who owns that cycle. Source-level detail sits in the sibling Suricata vs Snort rules and rulesets comparison.
Zeek works differently. Its default analyses, including logging, are implemented as scripts in a domain-specific, Turing-complete language rather than hard-coded in the core, and the Zeek documentation states that it is not a classic signature-based IDS. Custom detection therefore means writing and maintaining Zeek scripts. Those scripts need code review, version control and regression testing, and they must be checked when Zeek moves between releases. Zeek 9.0.0 is the current LTS release and 8.0.10 the previous one, with LTS releases receiving one year of maintenance, so script upkeep should follow that schedule.
The practical decision is who writes and tests each kind of detection. Illustrative example: a rule that matches a known byte pattern or a specific HTTP header fits Suricata, while a check that tracks behavior across many connections over time usually fits a Zeek script. Before committing, ask who will update Suricata rules, who will write and review Zeek scripts, and how each change is tested against captured traffic. Security Onion runs both engines, so confirm which content it ships and updates for each one. The About Zeek page explains the scripting model in more detail.
What drives the running cost of each platform
Suricata and Zeek both run on hardware you own, so most of the running cost sits in sensors, storage, people and upkeep rather than licences. The cards below separate the one-time build from the costs that recur every year, and name who is paid for each.
Sensor hardware and capture design
Suricata is multi-threaded and a single instance can inspect multi-gigabit traffic, so a well-sized sensor may be a smaller box than a Zeek cluster covering the same link. Zeek scales by adding back-end workers behind a front-end load balancer, which adds nodes and a manager to maintain. Ask your integrator which capture method (AF_PACKET or PF_RING) and how many sensors each link needs, and budget for the tap or span hardware as a one-time cost.
SIEM and log backend
Both tools write logs that something must store and search. Suricata's EVE JSON and Zeek's logs can feed Logstash, a SIEM or a log platform, and the storage bill grows with traffic and retention. In Security Onion, the bundled Elastic stack carries both sensors' output, so the search tier is part of the same build. Confirm who licenses and operates the search backend and how long each log type must be kept.
Analyst skills for signatures and scripts
Suricata detection is written in its signature language, which most detection engineers can learn quickly from existing rule sets. Zeek detection is written in its Turing-complete scripting language, and its default analyses are themselves scripts. Staffing a Zeek-heavy program usually means hiring or training for that language, while a signature-led program leans on rule tuning. Ask who on your team will own detection logic and whether that person is already skilled in each language.
Rule and script maintenance
Suricata users typically keep rule sources current, such as the Emerging Threats Suricata ruleset or the VRT ruleset, and tune them to suppress noise on their own network. Zeek maintenance centers on local scripts and any community packages you adopt, which you must test against each new Zeek release. Both require a recurring review cycle. Confirm which rule sources you will pull, who approves changes, and how false positives are logged and closed.
Upgrade cadence and version support
Suricata 8.0.7 is the current stable release, and the Suricata 7 line is end of life with its last version, 7.0.17, released on July 7, 2026, so a Suricata 7 deployment already carries an upgrade obligation. Zeek 9.0.0 is the current LTS release and 8.0.10 the previous LTS, with LTS releases receiving one year of maintenance. Plan a recurring upgrade window for each sensor, and test scripts before every Zeek move.
Support contracts and who is paid
Both platforms are open source, so no licence fee recurs, but operating them is labour. Internal staff, an implementation partner or a vendor support agreement each carries its own cost. DeployOpen plans, implements, hardens and supports self-hosted platforms in your infrastructure on fixed-scope engagements, with ongoing support available as a retainer. Ask any provider for a written scope that separates the one-time build from the monthly or annual run work, and state which Suricata or Zeek versions it covers.
Moving from one to the other or adding the second
This sequence shows how a team moves detection from Suricata to Zeek, or adds Zeek beside Suricata, without losing alert history or leaving gaps in coverage. The end state is a documented, tested sensor pair with a known owner for each data source.
Inventory alerts, logs and consumers
The security engineering lead lists every Suricata rule set, EVE JSON output type, and Zeek-style log the SIEM currently ingests, along with each dashboard, alert, hunt query and downstream tool that reads them. Record the owner of each consumer. The step is done when the inventory names every consumer and every data source, and the team agrees the list is complete.
Decide what must be preserved
Security leadership and the detection team decide which detections, retention periods and evidence types are required for audit, incident response and contractual reporting. Split the list into what must continue unchanged, what can be retired and what needs a replacement. The step is done when each item carries a written decision and an approver, so the cutover has a defined acceptance standard.
Stand up the second sensor in parallel
The network team deploys the new sensor on the same tap or span feed as the existing one, so both engines see identical traffic. Confirm that capture drops and interface statistics are recorded for each sensor on your own traffic, since drop behavior depends on hardware and load. The step is done when both sensors run side by side and their output volumes and drop counters have been compared over a period the team chooses.
Map EVE JSON fields to Zeek logs
The SIEM engineer builds a field map between Suricata's EVE JSON event types, such as alert, http, dns, tls and fileinfo, and Zeek's connection, HTTP, DNS, SSL and files logs. Note where names, timestamps, flow identifiers and nesting differ, and update parsers and normalization rules to match. The step is done when a sample of known traffic produces equivalent records in both datasets and the parsers pass a test set that the team wrote in advance.
Rebuild detections and dashboards on Zeek data
The detection team rewrites the required alert logic as Zeek scripts or SIEM queries, because Zeek does not run signature rules in the way Suricata does and its documentation points signature users to an IDS such as Suricata. Rebuild dashboards and hunt queries against the mapped fields. Keep Suricata alerts running for signature coverage where Zeek cannot replace them. The step is done when each required detection has a test that fires on a known sample and the dashboards show matching results.
Retire duplicate coverage
Once the parallel run shows that a rule, script or dashboard is covered by another control, the team removes or disables the duplicate. Record each retirement with its replacement in the change log so auditors and future engineers can trace it. Do not retire a Suricata signature set until the signature-based requirements are confirmed as covered elsewhere. The step is done when the change log links every retired item to a replacement or a documented decision not to replace it.
Cut over and archive the old pipeline
The operations lead switches consumers to the new data path in a controlled change window, confirms that alerts reach the same responders, and keeps the old sensor in read-only mode for a period set by the retention policy. Export existing Suricata alert history and stored pcap in open formats before decommissioning. The step is done when consumers confirm receipt, the rollback plan has been tested, and the archive is verified to open.
Where implementation projects usually run long
Sensor placement and capture validation take longer than most teams plan for when Suricata and Zeek share one segment. Both engines need a span port, tap or equivalent copy of the traffic, and the network team has to approve and document each change. Before any rule or script work starts, confirm that Suricata's EVE JSON output and Zeek's connection and transcript logs both show the traffic you expect from the monitored segment, including east-west flows and any VLAN-tagged traffic. Ask the network team for a written change record for every span or tap adjustment, because a mirror that drops packets under load produces gaps that look like detection failures later. Encrypted traffic is the limit most often underestimated: TLS certificates and handshake metadata are visible, but payloads are not, so plan the expected coverage with the security team before anyone promises full visibility.
The SIEM side slips when field mapping is treated as a one-time import. Suricata's EVE events and Zeek's tab-separated or JSON logs use different field names, timestamps and nesting, and the parsers, normalization rules and dashboards must agree on them. Confirm which fields your SIEM needs (for example, the flow identifiers and certificate fields used for correlation) and test each parser against a capture from the live segment rather than a lab sample. Storage sizing for Zeek transcripts is a frequent source of rework. HTTP, DNS and SSL logs can grow quickly on busy links, so measure a representative day of output on your own traffic before fixing retention, and ask your SIEM vendor or integrator how indexing and retention will be priced or sized for that volume.
Alert tuning and Zeek scripting both take more iteration than the initial install suggests. Suricata alerts from broad Emerging Threats or VRT rule sets will include false positives for your environment, so plan a tuning cycle that suppresses or thresholds noisy signatures, with each change recorded and reviewed by the analysts who will act on the alerts. Zeek is not a signature engine, so its detections depend on scripts. Writing or validating a Zeek script means testing it against recorded traffic, confirming it does not raise load on the cluster, and documenting its owner. Ask who will maintain the scripts after handover, since the people who wrote them are often the first to be reassigned.
Questions buyers ask before choosing Suricata or Zeek
Is Suricata alone enough, or do I need Zeek too?
Suricata alone is enough when your goal is signature-based detection and alerting on known threats, policy violations and malicious behavior, since it also logs HTTP, TLS certificates and DNS and writes everything to EVE JSON. Add Zeek when investigations need rich, scripted connection and protocol transcripts beyond what alerts give you. Zeek's own documentation says it is not a classic signature-based IDS, so the two tools answer different questions. Ask your analysts which question they ask most often: "what matched a rule?" points to Suricata, while "what happened on this host's connections last week?" points toward Zeek.
Does Security Onion remove the need to choose between them?
Security Onion removes the integration work, not the design decision. It bundles Suricata and Zeek, offers either one to generate network metadata, and passes extracted files to Strelka, so you can run both without assembling the pipeline yourself. You still need to decide which engine feeds which detection, how much storage you keep for full packet capture, and whether you accept Security Onion's license. Its documentation places it under the Elastic License 2.0, which is not OSI approved and forbids offering the software as a managed service, so confirm that terms fit your model before committing.
How much hardware and operating effort does running both need?
Security Onion's hardware documentation lists bare minimum specifications of 4 CPU cores, 24GB RAM and 200GB storage for a standalone install and suggests 32GB of RAM or more when monitoring even a small amount of network traffic. Those figures are a floor for a lab or small sensor, not a sizing for your links. Real requirements depend on traffic volume, retention period, whether you keep full packet capture and how many sensors you run. Ask your vendor or team to size against measured traffic, and budget for ongoing rule tuning, storage growth and upgrades, which recur every release cycle.
Can Zeek do signature detection on its own?
No. Zeek's documentation states that it is not a classic signature-based IDS and is not optimized for byte matching, and it points users who need signature detection to systems such as Suricata. Zeek's strength is its scripting language, which implements its default analyses, and its logs of connections, HTTP sessions, DNS, SSL certificates and SMTP content. Use Zeek to generate evidence and detection logic in scripts, and use Suricata or another IDS for rule-based matching. Teams sometimes expect Zeek to replace an IDS, and that expectation is the most common source of gaps in detection coverage.
How long does a pilot take, and what does its length depend on?
The sources supplied for this page do not give a pilot duration, so treat any number you hear as a claim to verify. The length depends on how many network segments you monitor, whether you deploy taps or span ports, how much tuning your alert volume needs, whether you connect output to an existing SIEM and how many people must review results. A fixed-scope pilot with written deliverables and a defined test window is easier to judge than an open-ended one. Ask for the scope, the acceptance criteria and the traffic you will test against before agreeing a timeline.
What skills does the team need to run these tools well?
Plan for network engineering, Linux administration and detection engineering. Operators need to read packet and protocol behavior, write or tune Suricata rules, write Zeek scripts where they extend logging or detection, and manage storage and the log pipeline behind them. Suricata's EVE JSON output and Zeek's TSV or JSON logs both need parsing and retention planning. If your team lacks one of these skills, the gap usually shows up as untuned alerts or unused logs, so assess it before choosing the architecture.
Can we do this in-house, or should we bring in an implementation partner?
Your team can do this in-house if it has the skills above and enough time to deploy sensors, tune rules and maintain the pipeline across releases. An implementation partner is useful when you need a fixed-scope deployment, documented architecture, hardening and handover. DeployOpen plans, implements, integrates, hardens, documents and supports self-hosted open-source platforms inside your own infrastructure, and most engagements are fixed-scope with scope and deliverables agreed in writing before work starts. Ongoing support and upgrades are available as retainers. Quotes follow from that written scope.
Does running Suricata inline as an IPS change which tool I should choose?
Inline mode changes the risk profile more than the choice between the two tools. Suricata can drop traffic when it runs as an IPS, which adds an availability dependency that a passive tap does not have. Zeek is a passive analyzer, so it sits beside traffic and does not block it. If you need blocking, Suricata inline is the only option of the two, and you must plan fail-open or fail-closed behavior, exceptions and offload settings before deployment. If you only need detection and evidence, a passive Suricata sensor and a passive Zeek sensor on the same tap keeps the availability risk out of the design.
How DeployOpen helps choose, implement and run Suricata and Zeek
DeployOpen plans, implements, integrates, hardens, documents and supports self-hosted open-source platforms inside your own infrastructure. For Suricata and Zeek, that starts with deciding which sensor functions you need, then building and handing over a monitoring design you can run and audit yourselves.
How we scope
- Map which questions need signature alerts, which need Zeek connection and protocol logs, and which need both.
- Confirm sensor placement, traffic volume, tap or span access and where EVE JSON or Zeek logs will be stored.
- Agree deliverables, timelines and responsibilities in a fixed-scope written statement before any work starts.
How we build
- Install and configure Suricata and Zeek on your chosen hosts, with rule sources and log outputs set to your documented policy.
- Integrate log shipping into your existing log management or SIEM backend, and test that alerts and transcripts arrive intact.
- Test detection coverage against known traffic samples and document gaps, tuning decisions and any packet loss found.
How we hand over
- Deliver configuration, architecture diagrams, runbooks for updates and rule changes, and a record of test results.
- Walk your security engineers through alert triage, log fields and how to confirm a sensor is still capturing traffic.
- Document the upgrade path for Suricata and Zeek release lines, so your team knows what to confirm when versions change.
How we support
- Ongoing support, upgrades and continuous testing are available as a retainer, scoped separately from the build.
- Retainer work can cover rule and script maintenance, version upgrades, capacity reviews and sensor health checks.
- Ask any provider, including DeployOpen, to confirm response expectations and upgrade responsibilities in writing before signing.

